Struts2利用token防止表单重复提交

简介

在一些项目中经常会让用户提交表单,当用户点击按钮提交后,如果再次浏览器刷新,这就会造成表单重复提交,若是提交的内容上传至服务器并请求数据库保存,重复提交的表单可能会导致错误,然后跳转到错误界面,这是一个糟糕的用户体验。

因此Struts2提供了一个标签token验证机制,能够避免重复提交表单。

核心笔记

这里要注意的一点是,Action类必须继承ActionSupport,不然会导致空指针异常(这问题卡了好久T-T)

下面简单实例介绍token。


实例

配置环境,这个不多说了

创建用户类Action

该Action类必须继承ActionSupport

Action类

创建jsp页面

创建两个jsp,一个用于提交表单信息(该jsp表单标签内必须添加token标签),一个用于显示表单信息

index.jsp

showUser.jsp

struts.xml配置

struts.xml内容

测试

tomcat部署项目,启动,浏览器访问,当提交表单后,刷新页面,页面立即跳转到index.jsp,到这里实例基本完成。