insert步骤。
原来的步骤insert.jsp(form)点提交---->insertAction(做插入的)--->insert.jsp跳回原来页面 但是再次使用刷新会再次提交。 解决方法: tokenAction--->insert.jsp(form)---->insertAction--->insert.jsp 也就是在 提交前先进入一个action,此action生成一个token tokenAction中execute代码如下: public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { saveToken(request);//生成一个TOKEN return mapping.findForward("insert"); } 在insertAction中的execute写如下代码: protected ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors=new ActionMessages(); if(!isTokenValid(request)){ errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.invalid.token")); saveToken(request); return mapping.findForward("insert"); } else{ resetToken(request); saveToken(request); } /**insert**/ 插入的方法 /**end**/ return mapping.findForward("insert"); }
注意:insert.jsp中的form必须为html:form,另外html:form 没有id属性,取代的是styleId 。
原来的步骤insert.jsp(form)点提交---->insertAction(做插入的)--->insert.jsp跳回原来页面 但是再次使用刷新会再次提交。 解决方法: tokenAction--->insert.jsp(form)---->insertAction--->insert.jsp 也就是在 提交前先进入一个action,此action生成一个token tokenAction中execute代码如下: public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { saveToken(request);//生成一个TOKEN return mapping.findForward("insert"); } 在insertAction中的execute写如下代码: protected ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors=new ActionMessages(); if(!isTokenValid(request)){ errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.invalid.token")); saveToken(request); return mapping.findForward("insert"); } else{ resetToken(request); saveToken(request); } /**insert**/ 插入的方法 /**end**/ return mapping.findForward("insert"); }
注意:insert.jsp中的form必须为html:form,另外html:form 没有id属性,取代的是styleId 。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货