解决刷新重复提交的问题

xiaoxiao2024-04-03  54

struts令牌解决重复刷新提交

insert步骤。 原来的步骤insert.jsp(form)点提交---->insertAction(做插入的)--->insert.jsp跳回原来页面 但是再次使用刷新会再次提交。 解决方法: tokenAction--->insert.jsp(form)---->insertAction--->insert.jsp 也就是在提交前先进入一个action,此action生成一个token tokenAction中execute代码如下:

public class SLAAddGuidAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) { try { //生成一个TOKEN 解决 刷新提交的问题 saveToken(request); return mapping.findForward("success"); } catch (Exception ex) { ex.printStackTrace(); return (mapping.findForward("errorpage")); } } }

 

 

在insertAction中的execute写如下代码:

 

public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) { //**** 解决刷新提交 **** ActionMessages errors=new ActionMessages(); if(!isTokenValid(request)){ errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.invalid.token")); saveToken(request); return mapping.findForward("success"); }else{ resetToken(request); saveToken(request); } //**** 解决刷新提交 end**** //*****insert start****** 自己的具体插入代码 //******insert end******* }

 

注意:insert.jsp中的form必须为html:form,另外html:form 没有id属性,取代的是styleId

 

 

转载请注明原文地址: https://www.6miu.com/read-5014725.html

最新回复(0)