Spring MVC - 请求 Return 浏览器中的值

Spring MVC - Request Return Value in Browser

我在 STS 中导入了 Getting Started - Securing a Web Application 并添加了一个导航控制器,请求被调用并且 return 值而不是重定向显示在浏览器中。知道它为什么这样做以及如何解决它吗?

代码如下:

@RestController
public class BetController {

@RequestMapping("/")
public String username(Model model) {
    System.out.println("Test");
    model.addAttribute("username", WebSecurityConfig.getUsername());
    return "statpage";
}

页面起始页是这样注册的:

@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/").setViewName("startpage");
    registry.addViewController("/login").setViewName("login");
}

我在浏览器中得到的只是一个空白页面,上面有 "startpage",查看页面的源代码没有 html 只是 "startpage"

在 RequestMapping 方法中返回 ModelAndView 而不是 String 解决了问题:

@RequestMapping("/")
public ModelAndView username(Model m) {
    ModelAndView mav = new ModelAndView();
    mav.addObject("username", WebSecurityConfig.getUsername());
    mav.setViewName("betting");
    return mav;
}

另一个解决方案是将 @RestController 更改为 @Controller 并确保所有名称匹配