struts中一个页面如何显示多个FormBean?

绿皮车 技术经理  2003-09-11 09:00:24
请教一下:
我想在一个页面中根据选择列表不同的服务选项,显示该服务对应具体的bean的信息,bean都放到了一个arraylist中传到页面上,但只有选中的服务bean的信息才会在相应的控件中显示,比如,当选择163服务时,该服务的bean信息会显示在相应的
控件中,换选了另一个服务时,这个服务的具体信息又会重新填充对应的控件,而且
提交时,想把这些bean一次全部提交修改,如何实现呢?
































...全文
12 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wang800608 2003-09-12
当然可以,不过你要在reset()方法中把存放bean的arrylist或hashmap从httpservletrequest取出来
public void reset(ActionMapping mapping, HttpServletRequest request) {
values=(HashMap)request.getAttribute("values");
}
回复
绿皮车 2003-09-11
okey,如果该页面操作我绕过struts,我把存放bean的arrylist或hashmap放到httpservletrequest的属性中可以实现么




回复
wang800608 2003-09-11
答案是 不可能实现
因为jsp和formbean之间的映射关系是在struts-config.xml中定义的
而struts-config.xml在运行时是不可更改的

不过有一个替代方法,你可以把所有的formbean放到另一个formbean中,
不过这个formbean有些特别:
public FooForm extends ActionForm {

private final Map values = new HashMap();
//把你的其他的frombean数据放到values里,比如:
//163服务中有个<html:text property="value"/>
//你把它改写成就好了:
//<%String str="value(163)"%>
//<html:text property="str"/>


public void setValue(String key, Object value) {
values.put(key, value);
}

public Object getValue(String key) {
return values.get(key);
}

}

详情请看struts1.1 doc 4.3.2
回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2003-09-11 09:00
社区公告
暂无公告