我在STS中导入了Getting Started - Securing a Web Application并添加了一个用于导航的控制器,调用了请求,并且在浏览器中显示了返回值而不是重定向。知道为什么会这样做以及如何解决它?
以下是代码:
@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”
答案 0 :(得分:0)
在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
,并确保所有名称都匹配