我有一个小场景。我有两个 POJO 类和两个表User
和Domain
(表的名称相同)。每个用户将属于一个且仅一个域。
我有两个动作类,一个是UsersManagemntAction
,另一个是DomainsManagementAaction
。我UsersManagemntAction
用来执行与用户相关的 CRUD 操作。在我的User
课堂上,我有一个属性domainId
。该属性将包含用户所属id
的。Domain
我的问题是,当我在 jsp 页面中显示用户信息时,我会显示domainId
用户信息。这是因为用户对象将具有domainId
. 而不是显示domainId
我想显示域名。我无法执行连接查询。我应该解决这个问题,当我显示用户信息时,我在用户管理操作类中调用一个函数,将其传递domainId
给该函数。该函数执行搜索Domain
表并返回域名。这个解决方案不起作用,因为我没有找到任何传递domainId
给该函数的方法。我可以调用UsersManagemntAction
类的函数但无法通过domainId
。请帮助我或以其他方式向我建议替代解决方案。
下面是 JSP 页面和User
类的代码。
JSP:
<s:if test="users.size() > 0">
<tbody>
<s:iterator value="users" >
<tr>
<td><s:property value="userId" /></td>
<td><s:property value="loginId" /></td>
<td><s:property value="password" /></td>
<td><s:property value="email" /></td>
<td><s:property value="domainName" /></td> <!--- It will call getDomainName function in action class -->
</td>
</tr>
</s:iterator>
</tbody>
用户.java:
public class User {
private Long userId;
private String loginId;
private String password;
private String email;
private Long domainId;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Long getDomainId() {
return domainId;
}
public void setDomainId(Long domainId) {
this.domainId = domainId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getUserId() {
return userId;
}
@Override
public String toString() {
return "User [domainId=" + domainId + ", password=" + password + ", userId=" + userId + ", Login Id=" + getLoginId() + "]";
}
public String getLoginId() {
return loginId;
}
public void setLoginId(String loginId) {
this.loginId = loginId;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}