ちょっとしたシナリオがあります。私は 2 つの POJO クラスと 2 つのテーブルUser
とDomain
(テーブルの同じ名前) を持っています。すべてのユーザーは、1 つのドメインだけに属します。
私は 2 つの Action クラスを持っています。1 つはUsersManagemntAction
で、もう 1 つは です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;
}
}