簡體   English   中英

如何賦值 <s:radio> 到另一個變量使用 <s:set> 在struts2

[英]How to assign value of <s:radio> to another variable using <s:set> in struts2

我正在嘗試將單選按鈕ans1的值分配給另一個變量ans_submit

<s:form action="ques2" namespace="/questions" theme="simple">

    Question 1: <s:property value="#session.ques1.question"/><br/><br/>

<s:radio list="#session.ques1.option1" name="ans1" value="%{'option1'}" label="1. "/><br/>
<s:radio list="#session.ques1.option2" name="ans1" value="%{'option2'}" label="2. "/><br/>
<s:radio list="#session.ques1.option3" name="ans1" value="%{'option3'}" label="3. "/><br/>
<s:radio list="#session.ques1.option4" name="ans1" value="%{'option4'}" label="4. "/><br/>

    <s:submit name="submit" value=" Next"/>

</s:form>

<s:set var="ans_submit" value="%{#ans1}" scope="session" />

但是當我在動作類中檢索ans_submit時,它給出的是null
我必須將<s:set>標記保留在<s:form>標記之外。 因為在我的模型中沒有這樣定義的變量。 我不想使用JavaScript!

使用地圖填充單選標簽。

<s:radio name="ans1" list="#{'option1': '1. ','option2': '2. ','option3': '3. ','option4': '4. '}" />

在動作類中,您應該具有ans1的屬性,該屬性將在您提交表單時設置。 該屬性是操作實例的本地屬性,該操作實例在您每次發出新請求時都會創建。 因此,您需要將值保存在會話中。

session.put("ans1", ans1);  

現在,要在另一個操作中從會話中檢索此值,您可以初始化ans1屬性

ans1 = (String) session.get("ans1");

或者您可以使用value屬性在單選標簽中預設value

<s:radio name="ans1" list="#{'option1': '1. ','option2': '2. ','option3': '3. ','option4': '4. '}" value="%{#session.ans1}"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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