JAVA:struts令牌解决重复刷新提交
来源:优易学  2011-3-12 10:50:34   【优易学:中国教育考试门户网】   资料下载   IT书店
 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");
  }
  <forward name="insert" path="/insert.jsp"/>
  注意:insert.jsp中的form必须为html:form,另外html:form 没有id属性,取代的是styleId 。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训