我正在使用Spring MVC,我想知道当我从控制器返回ModelAndView(视图位于WEB-INF文件夹,因此重定向到它不起作用)时,是否可以更改URL?我的意思是当我返回它时,URL是前一个,并且它显而易见,因为调度程序正在工作,而不是重定向。
@RequestMapping(value = "/login", method = RequestMethod.POST)
public ModelAndView authenticate(@RequestParam("login") String login, @RequestParam("password") String password) {
ModelAndView modelAndView = new ModelAndView();
User user = userDao.getUserByLogin(login);
if (user != null && user.getPassword().equals(password)) {
modelAndView.addObject("user", user);
modelAndView.setViewName("home");
}
return modelAndView;
}
因此我的home
模型位于WEB-INF文件夹中,因此return redirect:/home
不适用于它。是的,我可以使用return home
重定向它,但在这种情况下,网址不会更改。
答案 0 :(得分:2)
将redirect:/url
用于其他方法并返回视图。
重定向模型属性时,在新方法中不可用,因此要在重定向方法中将其设置为RedirectFlashAttributes
。
希望它有所帮助。