Java Struts2:单选按钮、迭代和列表故障

Java Struts2:单选按钮、迭代和列表故障,java,jsp,collections,struts2,Java,Jsp,Collections,Struts2,我有一个复杂的问题,我希望能解释清楚 我有两张单子。在我的jsp上,我有一个嵌套的迭代,其中有两个列表,其中有一个标记 代码如下: <s:iterator value="listSurveyToRender" var="s" status="counterS"> <s:iterator value="listSurveyValuesToRender" var="sv" status="counterSv" >

我有一个复杂的问题,我希望能解释清楚

我有两张单子。在我的jsp上,我有一个嵌套的迭代,其中有两个列表,其中有一个标记

代码如下:

<s:iterator value="listSurveyToRender" var="s" status="counterS">
                 <s:iterator value="listSurveyValuesToRender" var="sv" status="counterSv" >
                          <s:if  test="%{#s.idsurvey==#sv.survey.idsurvey}">
                             <td><s:radio list="sv"  listValue="valoreTesto" name="provaRadio1" />
                          </s:if>
                 </s:iterator>
问题是,当我选择收音机时,因为列表对所有人都是唯一的,所以选择排除了其他人

我需要将此排除限制在第二个迭代器上


谢谢

切中要害:要分离单选按钮组,您需要为每个组指定不同的名称

我不做Struts,但理论上

name="provaRadio1"

应该这样做


阅读/解释生成的HTML源代码(在浏览器中打开页面,右键单击,查看源代码)也会提供许多新的见解。

可以这样做:

  <s:set name="x" value="0"/>
<s:iterator value="listSurveyToRender" id="s" status="counterS">
             <s:set name="x" value="%{x + 1}"/>
             <s:iterator value="listSurveyValuesToRender" id="sv" status="counterSv" >
                      <s:if  test="%{#s.idsurvey==#sv.survey.idsurvey}">
                         <td><s:radio list="sv"  listValue="valoreTesto" name="provaRadio%{x}" />
                      </s:if>
             </s:iterator>
 </s:iterator>

我还没有机会对此进行测试,但基本上每个外部迭代都会增加x,x将用于为每个组的单选按钮创建唯一的id


在您的操作中,您必须声明provaRadio1、provaRadio2等才能获得提交的值。

在您的帮助下,我解决了这个问题。。这就是我找到的解决方案:domandeCheckbox是包含listKey值的字符串列表。
name="provaRadio1${counterS.index}"
  <s:set name="x" value="0"/>
<s:iterator value="listSurveyToRender" id="s" status="counterS">
             <s:set name="x" value="%{x + 1}"/>
             <s:iterator value="listSurveyValuesToRender" id="sv" status="counterSv" >
                      <s:if  test="%{#s.idsurvey==#sv.survey.idsurvey}">
                         <td><s:radio list="sv"  listValue="valoreTesto" name="provaRadio%{x}" />
                      </s:if>
             </s:iterator>
 </s:iterator>