Я использую плитку 2 в моем Spring 3 MVC приложении я определяю форму:плитки и перенаправлять в Spring MVC
<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 не работает.
Любая идея, как перенаправить после успешного POST с использованием плиток?
благодаря
EDIT: Решение заключается в добавлении этого в views.properties:
redirectcompanylist.(class)=org.springframework.web.servlet.view.RedirectView
redirectcompanylist.url=/companylist.htm
И вернуть redirectcompanylist в контроллере
Спасибо, но я получаю ошибку 500: Не удалось разрешить просмотр с именем 'redirect: /companylist.htm'. companylist имеет свой собственный Tile также как addcompany – guigui42
У вас есть метод в вашем контроллере, аннотированный с помощью '@RequestMapping (value ="/companylist.htm ", method = RequestMethod.GET)'? – hleinone
да у меня есть. и когда я перехожу на URL-адрес /companylist.htm в моем браузере, он работает. Но после того, как я заполнил форму и компания была добавлена в базу данных, перенаправление дает мне эту ошибку: javax.servlet.ServletException: не удалось разрешить просмотр с именем 'redirect: /companylist.htm' в сервлет – guigui42