【问题标题】:Tiles and redirect in Spring MVCSpring MVC 中的平铺和重定向
【发布时间】:2010-11-17 22:19:08
【问题描述】:

我在 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,REDIRECT 不起作用。

知道如何在使用 Tiles 成功 POST 后重定向吗?

谢谢

编辑: 解决方案是在views.properties中添加这个:

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

并在控制器中返回redirectcompanylist

【问题讨论】:

    标签: spring redirect tiles


    【解决方案1】:

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

    【讨论】:

    • 谢谢,但我收到 500 错误:无法解析名称为 'redirect:/companylist.htm' 的视图。 companylist 有自己的 Tile 也像 addcompany
    • 你的控制器中有没有用@RequestMapping(value="/companylist.htm", method=RequestMethod.GET)注解的方法?
    • 是的,我有。当我在浏览器中转到 /companylist.htm 网址时,它就可以工作了。但是在我填写表格并将公司添加到数据库中之后,重定向给了我这个错误:javax.servlet.ServletException: Could not resolve view with name 'redirect:/companylist.htm' in servlet
    • 您在应用程序上下文中将哪个类配置为ViewResolver?如果它不是 UrlBasedViewResolver 的实例,则无法处理 redirect: 前缀。作为替代方案,您可以使用RedirectView 并将返回类型更改为View
    • 这是我的视图解析器: 。您有任何示例如何使其与它一起使用吗?谢谢
    猜你喜欢
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 2014-02-23
    • 2014-06-20
    • 2015-06-05
    相关资源
    最近更新 更多