我的地图有问题。我有一个具有以下配置的模板解析器:
@Bean(name="templateResolver")
public ServletContextTemplateResolver getServletContextTemplateResolver() {
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
templateResolver.setPrefix("/WEB-INF/views/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setCacheable(false);
return templateResolver;
}
@Bean(name="templateEngine")
public SpringTemplateEngine getTemplateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(getServletContextTemplateResolver());
return templateEngine;
}
@Bean(name="viewResolver")
public ThymeleafViewResolver getThymeleafViewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(getTemplateEngine());
viewResolver.setOrder(1);
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
我有我的项目结构:
-WEB-INF
--views
---home.html
---registration.html
我正在使用 thymeleaf 和 spring 4.0。对于家庭,我在控制器中添加了以下 requestMapping:
@RequestMapping(value = "/", method = RequestMethod.GET)
public String start(Model model) {
return "home";
}
我没有registration.html 的请求映射。
在我的 home.html 中,我有以下链接(百里香锚标记):
<a href="registration.html" th:href="@{/registration.html}" th:text="#{navigation.registration}">Registration</a>
我已经在 /myapp 下的 tomcat 中绑定了我的应用程序,当我进入 /myapp 时,我得到了 home.html 页面(我有一个请求映射),但是当我进入 /myapp/registration.html 时,我得到 404。
我必须做什么,在不将每个页面都添加到控制器的情况下提供这样的静态 html 文件?可能吗?我尝试使用静态资源,但它不起作用。
我还尝试将视图目录级别向上移动,所以我有结构:
-WEB-INF
-views
--home.html
--registration.html
我能够进入 /myapp/views/registration.html,但我无法进入 /myapp/registration.html