JSP 如何在struts2中使用将的值赋< s:radio>给另一个变量< s:set>

vcirk6k6  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(150)

我试图将单选按钮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" />

但是当我在action类中检索ans_submit时,它给出了null
我必须将<s:set>标记保留在<s:form>标记之外。因为在我的模型中没有这样定义的变量。我不想用javascript!

cuxqih21

cuxqih211#

使用Map填充无线电标记。

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

在action类中,您应该有一个ans1的属性,当您提交表单时,该属性的值将被设置。此属性对于每次发出新请求时创建的操作示例是本地的。因此,您需要在会话中保存该值。

session.put("ans1", ans1);

现在,要在另一个操作中从会话中检索此值,可以初始化ans1属性

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

也可以使用value属性在单选标签中预设值。

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

相关问题