我在 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
这是我的 Controller :
@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 成功 POST 后重定向吗?
谢谢
编辑 :
解决方案是在 views.properties 中添加:
redirectcompanylist.(class)=org.springframework.web.servlet.view.RedirectView
redirectcompanylist.url=/companylist.htm
并返回 重定向公司列表在 Controller 中
最佳答案
重定向时必须使用 URL 路径。像这样:return redirect:/companylist.htm
然后转到 Controller 中的相应方法。
关于spring - Spring MVC 中的平铺和重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4209741/