日期:2014-05-17  浏览次数:20691 次

在action中如何在<s:iterator>获取radio 对应值
<form action="/Map01/od/update01.action" method="post" >
   <s:iterator value="list" status="status" >
        <s:radio name="agree[%{#status.index}]" list='#{1:"同意",2:"不同意"}' theme="simple"  />
  怎么在后台action中获取 radio对应的值,

在action中用了 
  private  List agree=new ArrayList(); 
get,set方法,可是不行,数组也不行,
求大仙们帮忙?

有代码的分享一下。
------解决方案--------------------
<s:radio name="agree[%{#status.index}]" 
不用这么复杂,直接给个固定的名字就好了
<s:radio name="agree"

在服务器端收参数为agree的,如果=1,就是“同意” 
------解决方案--------------------
1 楼 正解 保持两边名字一致就行  list属性改成这样就不用判断了list='#{“同意”:"同意",“不同意”:"不同意"}' 
------解决方案--------------------
引用:
<s:radio name="agree[%{#status.index}]" 
不用这么复杂,直接给个固定的名字就好了
<s:radio name="agree"

在服务器端收参数为agree的,如果=1,就是“同意”


不行的,那样只能取一组值;而不能多组值
行 1,2
行 1,2
我要的是取第一行一个值和去第二行的值不相互影响
------解决方案--------------------
你单选按钮name不同当然不能一次性获取到。其实可以这样,每行弄个隐藏域name都相同,跟这行的单选按钮的值绑定,后台通过List获得到所有隐藏域的值就行了。
------解决方案--------------------
java代码:
String[] agree[%{#status.index}]= request.getParameterValues("agree[%{#status.index}]");

楼主这样试试,我是这样用来接收checkbox的值的。
------解决方案--------------------
<s:radio name="agree[%{#status.index}]" list='#{1:"同意",2:"不同意"}' theme="simple" />
将list改成value
------解决方案--------------------
引用:
<s:radio name="agree[%{#status.index}]" list='#{1:"同意",2:"不同意"}' theme="simple" />
将list改成value

看错了
------解决方案--------------------
谢谢大家的帮忙,这问题已经解决啦
------解决方案--------------------
咋解决的?  我也不会