我正在尝试在Struts应用程序中实现Survey功能。对于每个调查问题,用户选择优秀,非常好,良好,满意或差的一个选项。
所以,我想要实现的是我需要拥有"唯一名称" for questionList的每次迭代,以便用户每个问题只能选择一个选项。
以下是我粘贴的jsp部分:
<s:form id="screeningForm" action="submitSurvey" >
<display:table uid="row" name="${questionList}" >
<display:column property="statement" title="STATEMENT" />
<display:column title="EXCELLENT" >
<s:radio name=?? list="{..}"></s:radio>
</display:column>
<display:column title="VERY GOOD">
<s:radio name=?? list="{..}"></s:radio>
</display:column>
<display:column title="GOOD">
<s:radio name=?? list="{..}"></s:radio>
</display:column>
<display:column title="SATISFACTORY">
<s:radio name=?? list="{..}"></s:radio>
</display:column>
<display:column title="POOR">
<s:radio name=?? list="{..}"></s:radio>
</display:column>
</display:table>
提前谢谢!
答案 0 :(得分:0)
您将索引或计数添加到唯一的名称。像这样
<s:iterator status="status" value='{0, 1}'>
Index: <s:property value="%{#status.index}" /> <br />
Count: <s:property value="%{#status.count}" /> <br />
</s:iterator>
请参阅此link。
希望这对你有帮助
答案 1 :(得分:0)
我通过在操作类(private List select;
)添加列表来解决此问题,并将每个单选按钮的名称命名为name="select[%{#attr.row_rowNum - 1}]"
<display:table uid="row" name="${questionList}" requestURI="" frame="" >
<display:column property="statement" title="STATEMENT" />
<display:column title="EXCELLENT" >
<s:radio name="select[%{#attr.row_rowNum - 1}]" theme="simple" list="#{'1':''}"></s:radio>
</display:column>
<display:column title="VERY GOOD">
<s:radio name="select[%{#attr.row_rowNum - 1}]" theme="simple" list="#{'2':''}"></s:radio>
</display:column>
<display:column title="GOOD">
<s:radio name="select[%{#attr.row_rowNum - 1}]" theme="simple" list="#{'3':''}" ></s:radio>
</display:column>
<display:column title="SATISFACTORY">
<s:radio name="select[%{#attr.row_rowNum - 1}]" theme="simple" list="#{'4':''}" ></s:radio>
</display:column>
<display:column title="POOR">
<s:radio name="select[%{#attr.row_rowNum - 1}]" theme="simple" list="#{'5':''}"></s:radio>
</display:column>
</display:table>