1

我想更新我的数据库中的一个表,但在此之前我会向用户显示他的当前信息。现在我有了这个表单bean。

我的动作类中有一个名为的表单bean。

public void setProfileBean(UserProfile profileBean) {
    this.profileBean = profileBean;
}

public UserProfile getProfile() {
    return profileBean;
}

我希望首先从会话范围内的另一个 bean 填充它的值。我将如何使用模型驱动的界面来实现这一点?

4

2 回答 2

1

正如@roman 所建议的那样,Struts2 ModelDriven 接口可以很好地解决这种情况,以获取有关如何使用它的一些代码帮助,您可以参考链接

于 2013-02-14T04:44:31.707 回答
1

首先,为什么你需要使用模型驱动的接口,在你的情况下,你可以简单地使用动作支持在你的视图上渲染 bean。你必须这样:

1:首先,您应该在要更新之前填充视图,我的意思是,当您被重定向到要更新数据库的页面时,您应该在视图中填充数据。

2:您可以通过对操作进行一些更改来实现此目的:

在你的行动中

public void setProfileBean(UserProfile profileBean) {
    this.profileBean = profileBean;
}

public UserProfile getProfile() {
    return profileBean;
}

**i assume this is your target method**

public string execute()
{
UserProfile user=new UserProfile();

user.setProfileBean("whatever you want to set");
......
......

return SUCCESS;

}

就是这样,这样做 struts2 将自动填充视图上的数据,确保您已定义如下属性:

<s:property value="UserProfile .xyz">
于 2013-02-14T05:44:36.300 回答