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

struts 中checkbox运用
现在有一个actionForm里面存放ID,NAME,AGE字段,
假设从数据库里读出了N条记录然后赋给actionForm的数组.
然后想把这些数据显示在JSP上.每条数据前还要加一个checkbox
首先,这里数据的条数一开始未知,所以行数是动态的.
其次,当我在JSP上通过checkbox选中了几条记录后进行提交,希望在
下一张页面只显示出我选中的记录信息.

我目前的实现方法是先把数据放在session里面,然后JSP里取数据,但在判断选中
信息时很麻烦.我查到可以使用multibox,但不知道针对我的这种情况怎么使用.
还有由于我传送数据时每一个element都是一个object而不是单单一个string,
所以希望可以有自动帮我把actionform里对应字段填充的方法.
不知除了写成   String[]   ID,   String[]   Name,   String[]   AGE   外.
我能否直接使用   ActionForm[]   af这样的形式,让数据自动进行填充.

先谢过了!

------解决方案--------------------
你的element不是放到List里面的吗?
你不用声明ActionForm[] af这不现实
你直接声明一个javabean 得数组就行了,就是你的strudent类的数组
<logic:iterate〉不是有个index吗?你让你的checkbox的onclick事件里面有添加就行了
------解决方案--------------------
up
------解决方案--------------------
一般来说,假如你检索出的数据前面的复选框,如果是和数据库表中的字段有关系的话,推荐使用multibox(比如,表中一个字段为1,检索出来就是让纪录为选中状态,字段为0,检索出来就让纪录是未选择状态),假如和检索的数据库中字段无关,只要使用checkbox就可以实现

用个数组,把每条选中记录的主键存入,传入下个画面即可。。。。

楼主这个可用checkbox,不过需要用js来完成主键存入数组的过程,
用multibox也可,在你选中一系列纪录后,点击提交后跳转,在后台,他会把你选中的记录的主键全部存入那个数组中,存session,到了下画面,把那个数组中的数据session取出,也就是选中纪录的全部主键,按主键在检索,就是你要的数据了

<html:multibox property= "数组 "> 主键 </html:multibox>
如:
<html:multibox property= "qufen " > <bean:write name= "bjg5620Bean " property= "ksino "/> </html:multibox>

qufen--数组 ksino--主键

个人感觉struts里,除了简单点的业务外multibox的功能远远大于checkbox,checkbox在multibox面前,就是个摆设