Java Struts2:单选按钮、迭代和列表故障
我有一个复杂的问题,我希望能解释清楚 我有两张单子。在我的jsp上,我有一个嵌套的迭代,其中有两个列表,其中有一个标记 代码如下: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" >
<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>