我刚刚使用最新版本的generator-jhipster 构建了我的应用程序。一切都很好,直到我做了一些更改,导致服务器想要生成错误页面。不幸的是,开箱即用的配置无法解析 error.html 模板:
@Bean
@Description("Thymeleaf template resolver serving HTML 5")
public ServletContextTemplateResolver webTemplateResolver() {
ServletContextTemplateResolver webTemplateResolver = new ServletContextTemplateResolver();
webTemplateResolver.setPrefix("/WEB-INF/templates/");
webTemplateResolver.setSuffix(".html");
webTemplateResolver.setTemplateMode("HTML5");
webTemplateResolver.setCharacterEncoding(CharEncoding.UTF_8);
webTemplateResolver.setOrder(2);
return webTemplateResolver;
}
Run Code Online (Sandbox Code Playgroud)
当部署到 tomcat 时,我收到无穷无尽的错误消息列表...异常处理模板“错误”:解析模板“错误”时出错,模板可能不存在或可能无法被任何配置的模板解析器访问
这对其他人有用吗?如果没有,是否应该在 src/main/webapp/WEB-INF/ 目录中生成 Thymeleaf 模板来解决这个问题?或者,是否应该使用不同的 ViewResolver 配置?
通过将上面改为这样,实际上解决了问题......
public ITemplateResolver webTemplateResolver() {
ClassLoaderTemplateResolver webTemplateResolver = new ClassLoaderTemplateResolver();
webTemplateResolver.setPrefix("templates/");
webTemplateResolver.setSuffix(".html");
webTemplateResolver.setTemplateMode("HTML5");
webTemplateResolver.setCharacterEncoding(CharEncoding.UTF_8);
webTemplateResolver.setOrder(2);
return webTemplateResolver;
}
Run Code Online (Sandbox Code Playgroud)
所以唯一的问题是这个改变是否应该被推送到 JHipster 中,如果是的话如何推送?