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

在Action里如何接收到表单中所有的值(值是通过ForEach 迭代出来的)
我做了一个购物车程序   ,   表单中查询出了所有的商品和商品的数量,   但是我想修改它的数量   ,一个商品好办,但如果是多个商品呢(我要怎么去修改它们的值呢)  

                                                                              请高人指点一下。。。。。。


------解决方案--------------------

1.做一个actionform,有id属性和商品数量属性,类型定义成数组形式
string[] id
double[] sl
2.在action中把取出的商品记录放入list
3.在jsp中把list用taglib显示出来,在需要修改值的位置用html标签,不要用taglib标签
因为taglib标签好象不支持在value值上的嵌套
例如
<logic:iterate id= "sp " name= "splist " type= "自己写 ">
<input name= "与你的form中的id对应 " value= " <bean:write name= "sp " property= "spsl "> ">
<input name= "与你的form中的sl对应 " value= " <bean:write name= "sp " property= "spsl "> ">
</logic:iterate>
4.页面提交以后在action中就可以在actionform.getid()和actionform.getsl()中获取jsp中提交的数据了
两个数组顺序一致的,比如
actionform.getid()[6]商品的数量就是
actionform.getsl()[6]
最后就循环修改吧
actionform.getid().length()数组长度
actionform与jsp中的form对应就不用我说了吧!

我以前这么做的,你借鉴一下吧