代码之家  ›  专栏  ›  技术社区  ›  Javi

Spring重定向:前缀问题

  •  0
  • Javi  · 技术社区  · 16 年前

    我有一个使用Spring3的应用程序,我有一个基于字符串构建视图的视图解析器。所以在我的控制器中,我有这样的方法。

    @RequestMapping(...)
    public String method(){
      //Some proccessing
      return "tiles:tileName"
    }
    

    @RequestMapping(...)
    public String method(){
      //Some proccessing
      return "redirect:tiles:tileName"
    }
    

    有没有办法将RedirectView与我从every controller方法获得的字符串(可解析的视图名称)一起使用?

    谢谢

    1 回复  |  直到 16 年前
        1
  •  3
  •   chris    16 年前

    以redirect:为前缀的调用是一个url,在标准浏览器302 redirect中发送。无法重定向到视图,因为视图不是url。相反,您需要一个新的servelet映射到“success”视图,然后重定向到该视图

    @RequestMapping("processing.htm")
    public String method(){
      //Some proccessing
      return "redirect:success.htm"
    }
    
    @RequestMapping("success.htm")
    public String method(){
      return "tiles:tileName"
    }
    

    当您只需要显示一个“谢谢”页面(不需要处理阶段的特定数据)时,这种情况就可以正常工作。但是,如果成功页面需要显示处理过程中的一些信息,有两种方法。

    2) 更好的方法是在http会话中存储信息,使用 @SessionAttributes @ModelAttribute

    推荐文章