Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc Spring MVC-在浏览器中请求返回值_Spring Mvc_Spring Security - Fatal编程技术网

Spring mvc Spring MVC-在浏览器中请求返回值

Spring mvc Spring MVC-在浏览器中请求返回值,spring-mvc,spring-security,Spring Mvc,Spring Security,我在STS中导入了,并添加了一个用于导航的控制器,请求被调用,返回值(而不是重定向)显示在浏览器中。知道它为什么会这样做,以及如何修复它吗 代码如下: @RestController public class BetController { @RequestMapping("/") public String username(Model model) { System.out.println("Test"); model.addAttribute("username", We

我在STS中导入了,并添加了一个用于导航的控制器,请求被调用,返回值(而不是重定向)显示在浏览器中。知道它为什么会这样做,以及如何修复它吗

代码如下:

@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返回ModelAndView,而不是RequestMapping方法中的字符串解决了问题:

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

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

您已将控制器注释为@RestController而不是@Controller。@RestController只是为了方便起见,我强烈建议您阅读@RestController的操作,从您正在做的事情和缺少的注释中判断这种理解。相信我,它会成功的…我尝试将'@RestController'切换到'@Controller',但它没有解决问题。这也是代码的另一个问题,或者至少是您希望它如何工作。返回视图名称后,该视图名称将由ViewResolver解析为实际视图。您所配置的是/url将呈现startpage视图。我怀疑你现在得到的是404而不是statpage,我想应该是statpage。