在Action中可以在前段Action中设置 SaveToken(request),
而后在表单收集信息的后端Action时,用
           if(isTokenVaild(request)){
              return mapping.getInputforward();
            }
resetToken(request);
  这样可以解决
 但是在MappingDispatchAction中这种方法失效,而且绑定的数据为空!
请帮忙!

解决方案 »

  1.   

    在客户端任何的连接、提交操作都统一在一个form中提交。具体可以使用js实现
      

  2.   

    谢谢大家,不是重复提交的问题,在action中解决很容易,但是在MappingDispatchAction不好解决,
       后来问了个学长,感觉解决的很漂亮,
        前端后端的代码不变,在页面收集的form中加入隐藏字段:
    <input type="hidden" name="<%=Constants.TOKEN_KEY%>"
    value="<%=session
    .getAttribute("Globals.TRANSACTION_TOKEN_KEY")%>" />
    问题解决,确实不错,呵呵