日期:2014-05-18  浏览次数:20934 次

STRUTS 如何提交多笔数据?
比如用户信息的表单页面,假设只显示姓名和单位.
这个页面显示多个人的信息,也就是一个清单页面
操作者可以一次修改多个人的信息,然后提交给后台
那么后台的这个formBean该怎么设计呢?
formBean应该有帐号,姓名,单位字段吧,可是页面提交过来的是多个人的啊,struts只能按页面字段的命名对应成一个formBean对象啊,如何能生成多个该formBean的对象一块提交给后台做批量处理呢?
或许struts有这个功能,但是我初学,这块该怎么做呢?请指教.

------解决方案--------------------
变通
------解决方案--------------------
这就需要在你的form里面放一个人员信息的ArrayList

BaseForm {

ArrayList <StaffInforForm> staffForms;
...
...

}
------解决方案--------------------
在form里面做一個List,用一個List來裝你要提交的多條數據,后臺取出循環處理就好了
------解决方案--------------------
放到request中,或者session中...
request.setAttribute( "aa ",arraylist);
session.setAttribute( "aa ",arraylist);
------解决方案--------------------
UP
------解决方案--------------------
没明白楼上所说
我到觉得用javascript可以实现,
formBean不改,
信息记录一:公司1,姓名1
信息记录二:公司2,姓名2
用javascript 把 公司1+公司2,中间用一个符号隔开,赋值给公司变量
姓名1+姓名2,中间用一个符号隔开,赋值给姓名变量
提交上去,在action中在一个个取出来
很笨的方法,能实现但不建议使用
------解决方案--------------------
现实中是不会有你这样的设计的.
你的模型可能会象这样子:表单中有这样的属性,它有一个或多个值.如 <select name= "name1 " multiple= "true ">

这也是好处理的,ActionForm中 设置一个成员 String[] 就可以了.