我正在尝试将单选按钮
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
属性在单选标记中预设值。
<s:radio name="ans1" list="#{'option1': '1. ','option2': '2. ','option3': '3. ','option4': '4. '}" value="%{#session.ans1}"/>