在动作类(Radio元素),struts 2中传递变量参数

时间:2013-09-26 04:51:50

标签: java struts2

我正在使用struts2开发多项选择测验应用程序。管理员可以决定测试将包含多少问题。所以现在我的动作类将会收到多个未知参数。

使用迭代器打印问题,选项也使用名为“randomNos”的列表随机化,该列表包含随机数。

<%int i=1; %>
<s:iterator var="i" value="quesList">
        <input type="hidden" value="<s:property value="QuesId"/>" name="quesId"/><%=i++ %>) <s:property value="Ques"/>
     <s:iterator var="j" value="randomNos">
      <s:if test="intValue() == 1"><input type="radio" name="ans" value="1"><s:property value="[1].Ans1"/>
    </s:if>

    <s:elseif test="intValue() == 2">input type="radio" name="ans" value="2"><s:property value="[1].Ans2"/>                                                     
    </s:elseif>

    <s:elseif test="intValue() == 3">
     <input type="radio" name="ans" value="3"><s:property value="[1].Ans3"/>
    </s:elseif>

    <s:else>
    <input type="radio" name="ans" value="4"><s:property value="[1].Ans4"/>
    </s:else>

    </s:iterator>
    </s:iterator>

现在接收我试过的参数“Passing variable number of parameters from form in to action in struts 2” 但在我的情况下,我有单选按钮,所以现在只选择一个问题的收音机,因为所有按钮都有相同的名称。

在我的行动中我有

List<String> quesId;
List<String> ans;

我使用迭代器遍历两个列表。

但问题是所有问题中只选择一个选项。如果我使用无线电标签的不同“名称”,我无法将它们放在列表中。

1 个答案:

答案 0 :(得分:0)

这有助于“Struts2 form to action fields mapping automatically” 它说实现ParameterAware会得到一个包含所有请求参数的Map。 代码中的一点修改,一切正常。