struts2 解决 遍历的若干组 radio 的name 属性相同的问题
从 后台循环了一组数据,返回了一个List,在该List中存在 key 和 value,当我把这个List用
struts2 的itrator 遍历到页面上时,(此时我还没给 <s:radio 设置name 属性)发现所有radio单选都可以选择,但是我如果设置了 <s:raido name= > name属性,那么所有的radio 就只能选择一项了,请问我该怎么解决 贴下代码,请各位给个解决办法 谢谢了!
JavaScript code <s:iterator value="examSingleList" var="sigexam" status="s1"> <tr> <td width="10%"></td> <td bgcolor="#f2f2f2" width="90%" align="left"> <span class="left_txt3"> <s:property value="#s1.index+1"/>. <s:property value="#sigexam.examContent"/> </span> </td> </tr> <tr> <td width="10%"></td> <td bgcolor="#f2f2f2" width="90%" align="left"> <span class="left_txt3"> <s:radio name="" list="#sigexam.optionList" listKey="optionKey" listValue="optionValue"/> </span> </td> </s:iterator>
应该这样,每组的name相同才可以
如
<s:radio list="option" name="A_%{#s1.index}" />
<s:radio list="optionList" name="A_%{#s1.index}" listKey="optionKey" listValue="optionValue" />
是可以的
如果
optionList里面的对象属性是optionKey、optionValue的话
例子
XML/HTML code <s:form method="post"> <table class="cust"> <s:iterator value="examSingleList" var="sigexam" status="s1"> <tr> <td> <s:hidden name="listCount" value="%{#sigexam.name}"/><!-- 这里使用试题目的id --> <s:radio list="optionList" name="A_%{#sigexam.name}" listKey="optionKey" listValue="optionValue" /> </td> </tr> </s:iterator> </table> <s:submit value="submit form "></s:submit> </s:form>
提交可以得到
Java code protected HttpServletRequest request; public void setServletRequest(HttpServletRequest request) { this.request = request; } String listCount; public void setListCount(String listCount) { this.listCount = listCount; } public String execute() { if (listCount != null) { System.out.println("listCount=" + listCount); String[] s = listCount.split(","); for (int i = 0; i < s.length; i++) { System.out.println("listCount=" + i + "=" + request.getParameter("A_" + s[i].trim())); } }