Struts2表单
<s:debug/>
<s:form action="customerAction_save" method="post" namespace="/model">
用户名:<s:fextfield name="username" /><br> <s:token/>
密码: <s:password name="psw" /><br>
电话:<s:textfield name="tel"/><br>
<s:submit value="保存" /><br>
</s:form>
<s:token/>
<input type="hidden" name="struts.token.name" value="struts.token"/>
<input type="hidden" name="struts.token value="1KDSLJLDJLSDJLDSDSLDSL" />
------------------------------------------
<package name="model" namespace="/model" extends="struts-default">
<!--将token拦截器加到默认栈中-->
<interceptors>
<interceptor-stack name="tokenStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<!--将token拦截器放到默认栈后面-->
<interceptor-ref name="token">
<!--说明只对定义的save方法拦截,如果对多个方法进行拦截,可以用逗号分开-->
<param name="includeMethods">save</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
注意:上边是说 我定义了一个拦截器 tokenStack, 包含defaultStack,和token
虽然进行定义了,但是行不能用
下一步是让我在加载的时候,使用这个拦截器栈
<default-interceptor-ref name="tokenStack"></default-interceptor-ref>
<action name="customerAction_*" class="cn.xiaoxian.web.CustomerAction" model="{1}">
<result name="add">/model/add.jsp</result>
<result name="success">/model/success.jsp</result>
<result name="edit">/model/edit.jsp</result>
<!--表单重复提交 定义的错误页面-->
<result name="invalid.token">/model/message.jsp</result>
</action>
</package>
---------------------
message.jsp
<body>
<!--当使用struts的token实现表单重复提交的时候,在出错的jsp中,可以使用<s:actionerror/>用来显示重复提交的信息-->
<s:actionerror/><br>
重复提交
</body>
在struts-message.properties中定义的错误信息