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

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
































...全文
35 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧