【发布时间】:2018-11-08 20:34:00
【问题描述】:
我不知道我们在这里做错了什么。我正在尝试设置一个单页 Spring MVC 项目,以便我可以查看相关内容。我有一个屏幕,greeting.html 我正在尝试加载。这是我的控制器类来加载它:
@Controller
public class GreetingController {
@GetMapping("/greeting")
public String getGreeeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
}
当greeting.html 在/resources/templates/greeeting.html 中时,这可以正常工作。但是,我希望它位于 WEB-INF 文件夹后面。我试过把它放在WEB-INF/views/greeting.html 和webapp/WEB-INF/views/greeting.html 中。然后我尝试使用InternalResourceViewResolver,正如我在网上看到的那样:
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".html");
return viewResolver;
}
据我了解,这应该允许它在我的 WEB-INF 文件夹设置之一后面找到greeting.html。但是,当我转到 localhost:8080/greeting 时,我会在控制台中收到 404 以及以下消息:
WARN 1439 --- [nio-8080-exec-1] o.s.w.s.r.ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF": [WEB-INF/views/greeting.html]
我完全不知道发生了什么或如何解决它,每个在线教程都做这件事并且没有任何问题,我似乎无法在网上找到任何有同样问题的人。任何指导都会在这里有所帮助。
【问题讨论】:
标签: spring spring-mvc spring-boot