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
并确保所有名称匹配
我在 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
并确保所有名称匹配