【发布时间】:2014-05-18 00:52:13
【问题描述】:
我正在使用 Thymeleaf 运行 Spring Boot 应用程序。当我通过我的 IDE (IntelliJ) 运行应用程序时,一切运行良好。
但是,当我通过命令行 (java -jar) 运行应用程序时,视图无法解析,并且出现以下错误:
org.thymeleaf.exceptions.TemplateInputException: Error resolving template "index", template might not exist or might not be accessible by any of the configured Template Resolvers
at org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:245)
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1104)
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1060)
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1011)
at org.thymeleaf.spring3.view.ThymeleafView.renderFragment(ThymeleafView.java:335)
at org.thymeleaf.spring3.view.ThymeleafView.render(ThymeleafView.java:190)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1225)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
这是我的设置:
我的目录结构
PROJECT-ROOT
--src
--main
--java
--controllers
--[CLASS WITH MAIN METHOD]
--views
--index.html
我的模板解析器:
@Bean
public ViewResolver viewResolver() {
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setTemplateMode("XHTML");
templateResolver.setPrefix("views/");
templateResolver.setSuffix(".html");
SpringTemplateEngine engine = new SpringTemplateEngine();
engine.setTemplateResolver(templateResolver);
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(engine);
return viewResolver;
}
我应该把视图放在哪里,以便在从 jar 文件运行时可以正确解析它们?
【问题讨论】:
标签: spring-mvc thymeleaf spring-boot