Struts2标签之token防止表单重复提交

阅读更多
Struts2的token标签防止表单重复提交的思路是这样的:
1、当请求到标有标签的JSP的时候,Struts2会建立一个GUID(全局唯一的字符串)放在session中,并且会成为一个hidden放在form中,这个GUID就是这个hidden的值。
2、在struts.xml文件里配置好的token拦截器会判断客户端form提交的token和session中保存的session是否相等。如果equals=true则执行Action。否则拦截器给值栈中压入actionError对象并设置其属性invaid.token的值,最后返回invaid.token结果,Action对应的方法也不会执行,这个时候在action的result里面配置该类型的结果跳转视图,并在值栈中的ActionError里找到invaid.token在国际化资源对应的值并输出,默认是一串英文(The form has already been processed or no token was supplied, please try again),也可以自行设置。





    
    
        
    

    



struts.messages.invalid.token=请不要重复提交表单





	
	
	
	
		
			
				submit
			
			
			tag.jsp
			tag.jsp
		
	





你可能感兴趣的:(struts2,标签,token,防止表单重复提交)