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

Spring MVC中的Tiles和redirect

  •  4
  • guigui42  · 技术社区  · 14 年前

    我在Spring 3 MVC应用程序中使用Tiles 2 我定义了一种形式:

         <definition name="addcompany.htm" extends="baseLayout">
          <put-attribute name="title"  value="Add Company"/>
          <put-attribute name="body"   value="/WEB-INF/jsp/addcompany.jsp"/>      
      </definition>
    

    以及:

    addcompany.(class)=org.springframework.web.servlet.view.tiles2.TilesView
    addcompany.url=addcompany.htm
    

    这是我的控制器:

    @RequestMapping(value="/addcompany.htm", method=RequestMethod.GET)
    public ModelAndView getForm() {
        logger.info("Getting form!");
        ModelAndView mav = new ModelAndView();
        logger.info("Loading form");
        Company cmp = new Company();
        mav.addObject("company",cmp);
        mav.setViewName("addcompany");
        return mav;
    }
    
    @RequestMapping(value="/addcompany.htm", method=RequestMethod.POST)
    public String  postForm(@ModelAttribute("company") Company cmp) {
        logger.info("post form!");
        companyService.saveCompany(cmp);
        logger.info("post form");
        return "redirect:tiles:companylist"; // How do i redirect?
    }
    

    使用Tiles2,重定向不起作用。

    你知道如何在一篇成功的文章使用Tiles后重定向吗?

    谢谢

    编辑: 解决方案是将其添加到视图中。属性:

    redirectcompanylist.(class)=org.springframework.web.servlet.view.RedirectView
    redirectcompanylist.url=/companylist.htm
    

    然后回来 重定向公司列表 在控制器中

    1 回复  |  直到 14 年前
        1
  •  4
  •   hleinone    14 年前

    重定向时必须使用URL路径。这样地: return redirect:/companylist.htm 然后转到控制器中相应的方法。