比如我现在插入一条记录,后台 return "success",
页面将会跳转去:
<result name="success">blog/success_insertBlog.jsp</result> 
跳过去了success_insertBlog.jsp 页面,但地址栏的地址还是之前插入记录的地址,如果我再刷新,就又插入一条记录。怎么办?
我试过一个办法,<result name="success" type="redirect">,让地址重定向,虽然地址栏地址是变了,但这个页面接收不到我从后台的request传过来的值。

解决方案 »

  1.   

    需要跳到一个action中
    <result name="suc" type="redirect-action">libraryImage!allLibrary.action</result>
      

  2.   

    struts2标准是使用tokenintercepter或者tokensessionstoreInterceptor拦截器。其实就是普通的token包装了一层而已。一下子说不清楚的。网上搜索下要不弄本书,都有例子的,照着写就可以喽
      

  3.   

    不要直接跳到blog/success_insertBlog.jsp  而是先跳到 action里面的一个方法 在从action里面的方法到 blog/success_insertBlog.jsp
      

  4.   

    token好像不太好用!!!上面这方法算是简单方便的了。
      

  5.   

    <result name="success" type="redirectAction">
      

  6.   

    struts2的token认证不是已经有了吗?
      

  7.   

    比较常用和简单的办法:
    插入一条记录后,向HttpSession里存放一个标志位如:
    session.setAttribute("isinsert","1");
    然后在执行插入操作的action上进行一个判断,
    如果isinsert的值是1则不执行插入,
    这样重新刷新页面的时候就不会再次插入了
      

  8.   


    token 有什么不好用的 ? 不明白  
      

  9.   

     这个问题去我blog看看把,我特意总结了下
       目前流行的有三种方法,具体你去看看把
      

  10.   

    struts2的令牌机制
    去官网看文档或者去google例子
      

  11.   

    晕,楼主搜一下token是怎么用的就知道了!
      

  12.   

    我来帮助你来 了,
    很简单,你用redirect重定向的方式跳转,一切就OK,你现在出现这个问题是因为你用的是请求转发的方式.
    好了,给我多搞点儿分,结帐吧