您的位置:首页 > 编程语言 > Java开发

Struts中数据回显,防止表单重复提交

2016-04-11 19:15 537 查看
数据回显

数据回显,必须要用struts标签!

Action中:

// 进入修改页面
public String viewUpdate() {
// 模拟一个对象(先获取一个id,再根据id调用service查询,把查到的结果保存到域)
User userInfo = new User();
userInfo.setUserName("Jack");
userInfo.setEmail("yuanjie@qq.com");

ActionContext ac = ActionContext.getContext();
//      Map<String,Object> request = (Map<String, Object>) ac.get("request");
//      request.put("userInfo", userInfo);

/************* 数据回显***************/
// 获取值栈
ValueStack vs = ac.getValueStack();
vs.pop();// 移除栈顶元素
vs.push(userInfo);  // 入栈

// 进入修改页面
return "viewUpdate";
}


JSP页面:

<body>
<%@taglib uri="/struts-tags" prefix="s" %>

<br/>
<!-- 在页面文本框内,显示要修改记录的数据 -->

<!-- 手动通过value设置显示的值
<s:form action="#">

用户名: <s:textfield name="user.userName" value="%{#request.userInfo.userName}"></s:textfield>   <br/>

邮箱: <s:textfield name="user.email" value="%{#request.userInfo.email}"></s:textfield>     <br/>
</s:form>
-->

<!-- 数据回显技术:s:textfield会自动查找根元素数据(Ognl表达式语言取值)  -->
<s:form action="#">

用户名: <s:textfield name="userName"></s:textfield>   <br/>

邮箱: <s:textfield name="email"></s:textfield>     <br/>
</s:form>

<s:debug></s:debug>
</body>


Struts提供了防止表单重复提交拦截器:

<interceptor name="token"
class="org.apache.struts2.interceptor.TokenInterceptor"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: