日期:2014-05-19  浏览次数:20704 次

Struts2中如何提交多个值?
有一个JavaBean
public class model 
{
 String id;
 String Name;
 Boolean IsRead;
 Boolean IsWrite;
 /*下面的GET SET方法就不写了*/
}


对应的JSP页面上要显示多个列,怎么传递到action中呢?
JSP页面显示如下图 ↓


当我点提交的时候 我的Action中如何接收 这一列参数?
(这个列表中的列数是动态 可变的)

------解决方案--------------------
先定义一个javabean嘛,在action中装入一个这个javabean的集合,定义上泛型,在页面用ognl的方式转型就好了
------解决方案--------------------
你參考這個即可實現你的功能。
http://suhuanxi.iteye.com/blog/677341
------解决方案--------------------
每一列用同一个name, 在action中获取到的是多个数组
------解决方案--------------------
探讨

每一列用同一个name, 在action中获取到的是多个数组

------解决方案--------------------
action中
List<model> list=new arraylist<model>();
页面中每列
<input type="hidden" name="list[i].id" value="1001">
<input name="list[i].IsRead" value="true">
就可以了,请参考下
------解决方案--------------------
放到list里面
------解决方案--------------------
探讨

放到list里面

------解决方案--------------------
把这些数据用js拼装成json或xml格式的字符串,放到隐藏域提交一下,
在action里解析一下,OK!
------解决方案--------------------
你的表的每一行都属于一个对象,那么一张表就可以放到集合里面;
在struts2中 可以使用类型转换来做
XXXXAction类中 可以定义一个list;
例如:List<model> models;
让这个量生成get,set方法;
在你的jsp页面中 表格中的td里面你可以存放struts2自带的标签,或者html标签都可以;
请求如:<input type="text" name="models.编号" value="值">
:<input type="text" name="models.名称" value="值">
:<input type="text" name="models.可读" value="值">
:<input type="text" name="models.可写" value="值">

这样提交后 sturts2 自动做类型转换,表格中的每一行都代表model的一个对象,它会自动帮你创建models对象并且赋值,你可以在XXXXAction类中打印这个list集合看看是否是你要的数据