1、 Struts2 , token 。 :
……
Java
<%@ taglib uri="/struts-tags" prefix="s" %>
……
<s:form action="page1" theme="simple">
<s:datetimepicker name="order.date" label=" " toggleType="explode" value="today"/><br/>
<s:token/>
<s:reset/><s:submit/>
</s:form>
<%@ taglib uri="/struts-tags" prefix="s" %>
……
<s:form action="page1" theme="simple">
<s:datetimepicker name="order.date" label=" " toggleType="explode" value="today"/><br/>
<s:token/>
<s:reset/><s:submit/>
</s:form>
2、 struts token 。 :
Java
<?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>
<package name="lee" extends="struts-default">
<action name="page1" class="org.bruce.Page1">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token" />
<result>/page1.jsp</result>
<result name="invalid.token">/page1error.jsp</result>
</action>
</package>
</struts>
<?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>
<package name="lee" extends="struts-default">
<action name="page1" class="org.bruce.Page1">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token" />
<result>/page1.jsp</result>
<result name="invalid.token">/page1error.jsp</result>
</action>
</package>
</struts> , name invaid.token result。 , 。
3、invaid.token , struts 。 :
<s:actionerror/>
:
1、JSP <s:token/> ,Struts2 GUID( ) session , hidden form 。
2、token form token session session equals。 equals Action。 invaid.token ,Action
---------------------------------------------------------------------------------
token , , struts2 。
, token 。 action TokenInterceptor, struts.xml 。
Java
1. <action name="register" class="UserAction" method="register">
2. <result>register_success.jsp</result>
3. <result name="input">register.jsp</result>
4. <result name="invalid.token">register.jsp</result>
5. <interceptor-ref name="token"></interceptor-ref>
6. <interceptor-ref name="defaultStack"></interceptor-ref>
7. </action>
<action name="register" class="UserAction" method="register">
<result>register_success.jsp</result>
<result name="input">register.jsp</result>
<result name="invalid.token">register.jsp</result>
<interceptor-ref name="token"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
<result name="invalid.token">register.jsp</result>” , , ;“<interceptor-ref name="token"></interceptor-ref>” TokenInterceptor , The form has already been processed or no token was supplied, please try again。 struts.messages.invalid.token , 。 :struts.messages.invalid.token= , 。