在Jsp Struts2中调用Action类的函数

我有一个小场景。 我有两个POJO类和两个表UserDomain (表的名称相同)。 每个用户都属于一个且只有一个域。

我有两个Action类,一个是UsersManagemntAction ,另一个是DomainsManagementAaction 。 我使用UsersManagemntAction来执行与用户相关的CRUD操作。 在我的User类中,我有一个属性domainId 。 此属性将包含用户所属的Domainid 。 我的问题是,当我在jsp页面中显示用户信息时,我向用户信息显示domainId 。 这是因为用户对象将具有domainId 。 而不是显示domainId我想显示域名。 我无法执行连接查询。 我应该解决这个问题,当我显示用户的信息时,我在用户管理动作类中调用一个函数将domainId传递给该函数。 该函数在Domain表上执行搜索并返回域名。 此解决方案无法正常工作,因为我没有找到任何方法将domainId传递给该函数。 我可以调用UsersManagemntAction类的函数但无法传递domainId 。 请帮助我或建议我一个替代解决方案。

下面是JSP页面和User类的代码。

JSP:

  0">              

User.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; } } 

您可以从值堆栈中获取它,同时在值堆栈顶部迭代User对象,这样您就可以在那里获取它

 public String getDomainName(){ User user = (User) ActionContext.getContext().getValueStack().peek(); return domainService.findDomainById(user.getDomainId()).getName(); }