2010-11-17 5 views
4

Я использую плитку 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 в контроллере

ответ

4

Вы должны использовать URL путь при перенаправлении. Пример: return redirect:/companylist.htm, который затем переходит к соответствующему методу в контроллере.

+0

Спасибо, но я получаю ошибку 500: Не удалось разрешить просмотр с именем 'redirect: /companylist.htm'. companylist имеет свой собственный Tile также как addcompany – guigui42

+0

У вас есть метод в вашем контроллере, аннотированный с помощью '@RequestMapping (value ="/companylist.htm ", method = RequestMethod.GET)'? – hleinone

+0

да у меня есть. и когда я перехожу на URL-адрес /companylist.htm в моем браузере, он работает. Но после того, как я заполнил форму и компания была добавлена ​​в базу данных, перенаправление дает мне эту ошибку: javax.servlet.ServletException: не удалось разрешить просмотр с именем 'redirect: /companylist.htm' в сервлет – guigui42

Смежные вопросы