【问题标题】:How to assign value of <s:radio> to another variable using <s:set> in struts2如何在 struts2 中使用 <s:set> 将 <s:radio> 的值分配给另一个变量
【发布时间】:2014-07-13 22:59:20
【问题描述】:

我正在尝试将单选按钮 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
我必须将&lt;s:set&gt; 标签保留在&lt;s:form&gt; 标签之外。因为在我的模型中没有这样定义变量。 我不想使用 javascript!

【问题讨论】:

  • 为什么需要设置这个变量?
  • 有一组questions,如ques1、ques2、ques3等等..如上所示。所以我需要在会话中保留answers,以便根据这些answers在最后评估和计算分数(其中right)。
  • 我知道可以使用ModelDriven接口的getModel()设置这些答案值,但是我想在jsp本身上设置这些值。我也可以使用 jstl 标签 。但它只能在按下提交按钮后设置,也可以在下一个 jsp 页面上设置。 I want to set the value of this variable as soon as one changes the option immediately.
  • 立即是什么意思?您是否会在更改选项后立即提交值?
  • 我想提供返回按钮功能。因此,当按下后退按钮时,问题会移动到上一页,当想要更改上一个答案时,他只能通过更改选项来做到这一点。这个change of option 应该反映在我的会话变量中。

标签: java jsp session struts2 radio


【解决方案1】:

使用地图填充单选标签。

<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 属性在单选标签中预设值。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2022-01-05
    • 2023-02-09
    相关资源
    最近更新 更多