struts2之防止表单重复提交
2011-12-26 23:37
351 查看
struts.xml配置文件
PersonAction类
index.jsp表单页面
message.jsp返回成功页面
error.jsp表单重复提交提示页面
<?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!--默认的视图主题--> <constantname="struts.ui.theme"value="simple"/> <!--struts2在防止表单重复提交的拦截中有2个,分别是:token,tokenSession。tokenSession继承token而来。 通常情况下,使用tokenSession客户端感觉会比较友好。--> <!--如果重复提交,会跳转到error.jsp页面--> <packagename="person"namespace="/test"extends="struts-default"> <actionname="token"class="com.ljq.action.PersonAction"> <interceptor-refname="defaultStack"/> <interceptor-refname="token"/> <!--如果重复提交,跳转到error.jsp页面--> <resultname="invalid.token">/WEB-INF/page/error.jsp</result> <result>/WEB-INF/page/message.jsp</result> </action> <actionname="tokenSession"class="com.ljq.action.PersonAction"> <interceptor-refname="defaultStack"/> <interceptor-refname="tokenSession"/> <!--如果重复提交,不会跳转到error.jsp页面--> <resultname="invalid.token">/WEB-INF/page/error.jsp</result> <result>/WEB-INF/page/message.jsp</result> </action> </package> </struts>复制代码
struts.xml配置文件 [code]<?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!--默认的视图主题--> <constantname="struts.ui.theme"value="simple"/> <!--struts2在防止表单重复提交的拦截中有2个,分别是:token,tokenSession。tokenSession继承token而来。 通常情况下,使用tokenSession客户端感觉会比较友好。--> <!--如果重复提交,会跳转到error.jsp页面--> <packagename="person"namespace="/test"extends="struts-default"> <actionname="token"class="com.ljq.action.PersonAction"> <interceptor-refname="defaultStack"/> <interceptor-refname="token"/> <!--如果重复提交,跳转到error.jsp页面--> <resultname="invalid.token">/WEB-INF/page/error.jsp</result> <result>/WEB-INF/page/message.jsp</result> </action> <actionname="tokenSession"class="com.ljq.action.PersonAction"> <interceptor-refname="defaultStack"/> <interceptor-refname="tokenSession"/> <!--如果重复提交,不会跳转到error.jsp页面--> <resultname="invalid.token">/WEB-INF/page/error.jsp</result> <result>/WEB-INF/page/message.jsp</result> </action> </package> </struts>复制代码
PersonAction类
packagecom.ljq.action; importjava.util.ArrayList; importjava.util.List; publicclassPersonAction{ privateStringname; @SuppressWarnings("unchecked") //观看控制台 //如果token生效则不会在控制台输出name的值,而会输出如下警告:2011-3-1420:45:32com.opensymphony.xwork2.util.logging.commons.CommonsLogger //warn警告:FormtokenEDZ4S96RNDN5VD8B1CQTK6FTHIJUPC66doesnotmatchthesessiontokennull. publicStringexecute(){ Listls=newArrayList(); ls.add(name); for(inti=0;i<ls.size();i++){ System.out.println(ls.get(i)); } return"success"; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } }复制代码
index.jsp表单页面
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%> <%@tagliburi="/struts-tags"prefix="s"%> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <title>防止表单重复提交</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> </head> <body> <!--防止表单重复提交,记得在form表单里填上<s:token></s:token>--> <!--action="token"、action="tokenSession"--> <s:formaction="token"namespace="/test"method="post"> 姓名:<s:textfieldname="name"/><s:token></s:token> <inputtype="submit"value="发送"/> </s:form> </body> </html>复制代码
message.jsp返回成功页面
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%> <%@tagliburi="/struts-tags"prefix="s"%> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <title>MyJSP'index.jsp'startingpage</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> </head> <body> <s:propertyvalue="name"/><br/> <%=newDate()%> </body> </html>复制代码
error.jsp表单重复提交提示页面
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%> <%@tagliburi="/struts-tags"prefix="s"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <basehref="<%=basePath%>"> <title>MyJSP'error.jsp'startingpage</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <!-- <linkrel="stylesheet"type="text/css"href="styles.css"> --> </head> <body> 您已经提交了表单,请不要重复提交。 </body> </html>复制代码[/code]
相关文章推荐
- Struts2防止表单重复提交
- Struts2中防止表单重复提交的两种方式
- java struts2入门学习--防止表单重复提交.OGNL语言学习
- Struts2防止表单重复提交
- struts2的防止表单重复提交
- 【struts2】struts防止表单重复提交源码分析
- struts2防止表单重复提交
- struts2防止表单重复提交
- 在struts2中防止表单的重复的提交
- struts2之防止表单重复提交
- struts1与struts2的防止表单重复提交
- Struts2防止表单重复提交
- Struts2学习10--防止表单的重复提交token标签和tokenSession
- Struts2的防止表单的重复提交
- Struts2防止表单重复提交 .
- 不用struts2的token机制,手动防止表单数据重复提交
- Struts2用token防止表单数据重复提交
- Struts2中防止表单重复提交的两种方式
- Struts2防止表单重复提交
- Struts2 防止表单重复提交