Struts2中每次迭代显示表后行的唯一名称

时间:2013-01-02 20:30:12

标签: jsp struts2 radio-button displaytag

我正在尝试在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>

提前谢谢!

2 个答案:

答案 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>