【发布时间】: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。
我必须将<s:set> 标签保留在<s:form> 标签之外。因为在我的模型中没有这样定义变量。
我不想使用 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