[英]passing variable parameters in action class (Radio element), struts 2
我正在使用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;
我使用迭代器遍歷兩個列表。
但是問題是所有問題中只有一個選項被選中。 如果我使用其他單選標簽的“名稱”,則無法將它們放在列表中。
這有助於“ 自動將Struts2表單轉換為動作字段 ”,它說實現ParameterAware將為我提供一個包含所有請求參數的Map。 稍微修改一下代碼,一切正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.