簡體   English   中英

在動作類(無線電元素)中傳遞變量參數,撐桿2

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM