struts2 表单提交后,返回原页面,保存表单radio 等标签的值

来源:互联网 发布:淘宝图片空间压缩图片 编辑:程序博客网 时间:2024/04/30 22:06

在表单提交后,或者验证失败后,返回原有页面时,如何将用户原来在表单中填写数据保存下来呢?


经过研究后,发现有两种简便的方法可以解决:

1. 在不使用struts2标签的情况下,我们用普通的表单元素 。(以radio为例)

   方法:我们将struts2 的控制标签嵌套在input表单元素中,根据action取得的值是否与页面radio的值相等,来判断用户原来选择的是哪个radio。

  写法:

<s:if test="%{\"A\".equals(#attr.surveyDto.choice1)}"> checked="checked" </s:if>

  具体例子:

<input type="radio"  <s:if test="%{\"A\".equals(#attr.surveyDto.choice1)}"> checked="checked" </s:if> name="surveyDto.choice1" id="choice1_a" value="A">        A. 知道               <input type="radio"  <s:if test="%{\"B\".equals(#attr.surveyDto.choice1)}"> checked="checked" </s:if> name="surveyDto.choice1" id="choice1_b" value="B">        B. 不知道               <input type="radio"  <s:if test="%{\"C\".equals(#attr.surveyDto.choice1)}"> checked="checked" </s:if> name="surveyDto.choice1" id="choice1_c" value="C">        C. 听说过一点但不太清楚</span></td>

2. 使用struts2标签,这是最简单的方法,struts2会自动帮我们判断用户原来选择的radio

<s:radio list="#{'A':'A. 比较大','B':'B. 一般','C':'C. 有些作用','D':'D. 没什么作用'}" name="surveyDto.choice2" />


原创粉丝点击