`
xhfei
  • 浏览: 113679 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

webwork token防止表单重复提交(转)

阅读更多
1.定义你自己的拦截器栈:
   <interceptors>   
    <interceptor-stack name="submitToken">
     <interceptor-ref name="token-session"/>
     <interceptor-ref name="defaultStack"/>
    </interceptor-stack>
   </interceptors>

2.在需要防止重复提交的action里添加刚刚定义的拦截器栈,像这样:
   <action name="sendMessage" class="net.jbbs.webwork.MessageAction" method="send">
    <result name="success" type="dispatcher">
     <param name="location">getMessagesList.action?type=sendbox</param>
    </result>
    <result name="fail" type="dispatcher">
     <param name="location">sendMessage.jsp</param>
    </result>
    <result name="invalid.token" type="dispatcher">
     <param name="location">sendMessage.jsp</param>
    </result>
    <interceptor-ref name="submitToken"/>
   </action>

3.修改相应的包含提交表单的jsp文件,在这里是sendMessage.jsp:
     <ww:token name="sendMessageToken"/>

做完上面三个步骤,应该可以实现防止重复提交了(注意其中彩色字体的地方)。

接着分析一下这里为什么用的是token-session(com.opensymphony.webwork.interceptor.TokenSessionStoreInterceptor), 而不是token(com.opensymphony.webwork.interceptor.TokenInterceptor). 它们的区别是当发生重复提交的时候,token-session会根据action的状态显示相应的页面而不执行相应的action,而token则会显示invalid.token对应的页面。token-session的用户体验无疑要好一些,有多少用户喜欢出错信息呢?。
分享到:
评论
1 楼 萧十一狼 2011-12-30  
<result name="invalid.token" type="dispatcher"> 
     <param name="location">sendMessage.jsp</param> 
    </result> 

难道不是配置的重复提交的出错信息吗???

相关推荐

    WebWork类型转换

    WebWork类型转换 List Boolean 等他类型的转换 可以通过页面

    WEBWORK

    WEBWORK的配置

    webwork所需的jar包

    webwork 所需jar包,包括xwork-2.0.6.jar,commons-logging.jar,ognl.jar,oscore.jar,velocity-dep.jar

    webwork教程webwork教程webwork教程

    webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程webwork教程

    WEBWORK的源文件压缩包

    WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包

    webwork

    webwork源码下载

    webwork源码底层实现

    webwork底层源码,用于webwork框架设计

    webwork的jar包

    这是webwork1的jar包,还有webwork-2.2.7.jar和webwork-src-2.2.7.jar

    webwork中文帮助文档

    webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档

    webWork

    webWork中文教程

    webwork_框架文档

    webwork_框架文档

    webwork2.1.7

    webwork2.1.7

    spring与webwork的集成

    spring与webwork的集成 spring与webwork的集成

    WebWork2配置

    WebWork2配置WebWork2配置WebWork2配置WebWork2配置

    WebWork docs 2 -- webWork 详细的说明文档

    与下载的&lt;&lt;WebWork docs -- webWork 详细的说明文档&gt;&gt; 的文件夹合并. 这里包括了所有webWork的所有的详细说明文档, 任何有关的问题都可以在这里找到答案.

    WebWork docs -- webWork 详细的说明文档

    webWork 详细的说明文档, 由于我的上传大小有限, 这个好东西我只能是分两次上传了, 下载的人可能要辛苦一些了, 不过这些都是值得的, 将&lt;&lt;WebWork docs 2 -- webWork 详细的说明文档&gt;&gt; 也一同下载下来, 下载后两个...

    WebWork 教程

    WebWork教程 学习WebWork很好的教材

    webwork实例.zip

    包括webwork2.x的 具体使用步骤,见解压后“webwork使用步骤.txt” 和一个实现前后台连通的webwork具体应用的“test” 实例,将test导入eclipse的工作空间,即可正常运行

Global site tag (gtag.js) - Google Analytics