我正在使用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>
现在要接收参数,我尝试“将可变数量的参数从表单传递到 struts 2 中的操作”但在我的情况下,我有单选按钮,所以现在只选择了一个问题的单选,因为所有按钮都具有相同的名称。
在我的行动中,我有
List<String> quesId;
List<String> ans;
我使用迭代器迭代这两个列表。
但问题是所有问题中只有一个选项被选中。如果我使用不同的无线电标签“名称”,我无法将它们放入列表中。