spring 引导 MVC:如何重定向到视图

spring boot MVC: how to redirect to a view

我尝试使用 SpringBoot 和 MVC 模式创建一个 java Web 应用程序。 如何从位于我的控制器中的此类功能重定向到视图(html 页面):

@RequestMapping(value="/authentification", method= RequestMethod.POST)
    public @ResponseBody void logData(LoginForm lgf){
        if(diaDao.loggin(lgf.getMail(), lgf.getMdp()))
            //home
        else
            //loginPage
 
    }

您将无法通过这种方式重定向到页面,您返回的是响应正文。您不能在方法签名中包含 @ResponseBody,这样 spring 就会明白它应该查找页面。

你的方法需要像这样:

@RequestMapping(value="/authentification", method= RequestMethod.POST)
public String logData(LoginForm lgf){
    if(diaDao.loggin(lgf.getMail(), lgf.getMdp()))
        return "page_name";
    else
        return "page_name";

}

您还可以使用 ModelAndView 重定向到页面并仍然向该页面发送数据。因此:

@RequestMapping(value="/authentification", method= RequestMethod.POST)
public ModelAndView logData(LoginForm lgf){
    ModelAndView mv = new ModelAndView("page_name1");
    if(diaDao.loggin(lgf.getMail(), lgf.getMdp())) {
        mv.addObject("objectX", "objectValueX");
    } else {
        mv.setViewName("page_name2");
        mv.addObject("objectY", "objectValueY");
    }
    return mv;
}