struts2之防止表单重复提交
来源:互联网 发布:古墓丽影9 mac 种子 编辑:程序博客网 时间:2024/04/29 23:09
struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <!-- 默认的视图主题 --> <constant name="struts.ui.theme" value="simple" /> <!-- struts2在防止表单重复提交的拦截中有2个,分别是:token,tokenSession。tokenSession继承token而来。 通常情况下,使用tokenSession客户端感觉会比较友好。 --> <!-- 如果重复提交,会跳转到error.jsp页面 --> <package name="person" namespace="/test" extends="struts-default"> <action name="token" class="com.ljq.action.PersonAction"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="token" /> <!-- 如果重复提交,跳转到error.jsp页面 --> <result name="invalid.token">/WEB-INF/page/error.jsp</result> <result>/WEB-INF/page/message.jsp</result> </action> <action name="tokenSession" class="com.ljq.action.PersonAction"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="tokenSession" /> <!-- 如果重复提交,不会跳转到error.jsp页面 --> <result name="invalid.token">/WEB-INF/page/error.jsp</result> <result>/WEB-INF/page/message.jsp</result> </action> </package></struts>
PersonAction类
package com.ljq.action;import java.util.ArrayList;import java.util.List;public class PersonAction { private String name; @SuppressWarnings("unchecked") //观看控制台 //如果token生效则不会在控制台输出name的值,而会输出如下警告: 2011-3-14 20:45:32 com.opensymphony.xwork2.util.logging.commons.CommonsLogger //warn 警告: Form token EDZ4S96RNDN5VD8B1CQTK6FTHIJUPC66 does not match the session token null. public String execute() { List ls = new ArrayList(); ls.add(name); for (int i = 0; i < ls.size(); i++) { System.out.println(ls.get(i)); } return "success"; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
index.jsp表单页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>防止表单重复提交</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <!-- 防止表单重复提交,记得在form表单里填上<s:token></s:token> --> <!-- action="token"、action="tokenSession" --> <s:form action="token" namespace="/test" method="post"> 姓名:<s:textfield name="name"/><s:token></s:token> <input type="submit" value="发送"/> </s:form> </body></html>
message.jsp返回成功页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <s:property value="name"/><br/> <%=new Date() %> </body></html>
error.jsp表单重复提交提示页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'error.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 您已经提交了表单,请不要重复提交。 </body></html>
- struts2之防止表单重复提交
- struts2之防止表单重复提交
- struts2之防止表单重复提交 token
- struts2之防止表单重复提交
- struts2之防止表单重复提交
- struts2之防止表单重复提交
- Struts2防止表单重复提交
- Struts2防止表单重复提交
- Struts2防止表单重复提交
- struts2防止表单重复提交
- Struts2防止表单重复提交
- Struts2防止表单重复提交
- Struts2防止表单重复提交
- Struts2防止表单重复提交
- Struts2防止表单重复提交 .
- Struts2防止表单重复提交
- Struts2防止表单重复提交
- struts2 防止表单重复提交
- 创建直线(Line),PolyLine,及三维多线段(PolyLine3d)
- JIRA中的并联审批流程定制
- MonkeyRunner入门
- Sublime Text 3 学习及使用
- hdu 4474 Yet Another Multiple Problem(BFS)
- struts2之防止表单重复提交
- python 中的相互import问题
- radius系列:freeradius搭建
- 最大连续和--分治
- jquery ui dialog (buttons),progressbar
- Arcgis server查询结果的条数
- Android S5PV210 camera驱动(tw9912)小结
- C语言的跨平台
- 11月15日,IBM软件安全会议计划在深圳举办