从WEB-INF返回ModelAndView时是否可以更改URL?

时间:2014-12-14 19:07:19

标签: spring model-view-controller modelandview

我正在使用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重定向它,但在这种情况下,网址不会更改。

1 个答案:

答案 0 :(得分:2)

redirect:/url用于其他方法并返回视图。

重定向模型属性时,在新方法中不可用,因此要在重定向方法中将其设置为RedirectFlashAttributes

希望它有所帮助。