struts防止用户重复提交表单

来源:互联网 发布:java主流开发工具 编辑:程序博客网 时间:2024/04/30 08:37
 

在用户请求页面回显之前,先用saveToken(request)方法创建一个标记Token并保存到用户的HttpSession对象中,然后显示页面,用户提交时,首先用isTokenValid(request,true),判断Token是否有效,true则将Token重置一个值,并进行相关的提交操作,无效则表明用户重复提交,或用户请求页面回显之前并没有建立Token对象

例:

使用displayAddOrderForm.do作为主页 execute方法如下

saveToken(request);

return(mapping.findForward("success"));  //success在action-mapping中已经定义好,转向表单页面jsp/order.jsp

表单的提交处理由SaveOrderAction execute代码如下

if(isTokenValid(request,true))

{

   ...

}

else{转向用户重复提交的处理页面}

若用户绕过displayAddOrderForm.do直接在浏览器中输入jsp/order.jsp

然后提交,则由于Token根本就没有创建,isTokenValid肯定返回false,则也会转到用户重复提交处理页面

原创粉丝点击