3

ちょっとしたシナリオがあります。私は 2 つの POJO クラスと 2 つのテーブルUserDomain(テーブルの同じ名前) を持っています。すべてのユーザーは、1 つのドメインだけに属します。

私は 2 つの Action クラスを持っています。1 つはUsersManagemntActionで、もう 1 つは ですDomainsManagementAactionUsersManagemntActionユーザーに関連する 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;
}

}
4

1 に答える 1