版权声明:本文为博主原创文章,版权归原作者小思所有,转载或者引用本文内容请注明来源及原作者,https://blog.csdn.net/zeal9s/ https://blog.csdn.net/zeal9s/article/details/81536469
防止表单进行多次重复的提交
1.在含有不能重复提交的jsp页面顶部添加s标签库
<%@ taglib uri="/struts-tags" prefix="s"%>
2.在表单里面加上
<s:token></s:token>
<INPUT value=立即注册 type="submit">
在表单提交的submit附近写这样就有特定的值保存在此页面,并且保存在session中。
token拦截器会判断客户端form提交的token和session中保存的session是否equals。如果equals则执行Action,返回正确应该执行的jsp页面。否则拦截器直接返回invaid.token结果,就是返回错误页面,Action对应的方法也不会执行。
例如:没有重复提交表单就到success.jsp,重复提交就到error.jsp
3.struts.xml的配置
<action name="addUsersAction_*" class="com.sw.action.AddUsersAction" method="{1}">
<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 使用令牌拦截器 -->
<interceptor-ref name="token"></interceptor-ref>
<!-- 正常的跳转 -->
<result>/success.jsp</result>
<!-- 重复提交表单的错误的跳转 -->
<result name="invalid.token">/error.jsp</result>
</action>
说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~