生產環境引入模板報錯
使用SpringBoot 推薦的模板引擎Thymeleaf時,在Eclipse中運行正常,但打成Jar包運行時,報錯:
template might not exist or might not be accessible by any of the configured Template Resolvers
ERROR (TemplateEngine.java:1085)- [THYMELEAF][http-nio-8
080-exec-10] Exception processing template "/user/userlist": Error resolving template "/user/userlist", template might not exist or might not be accessible by any of the configured Template Resolvers
2018-03-26 11:03:10,444 ERROR (DirectJDKLog.java:181)- Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request proces
sing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/user/userlist", template might not exist or might n
ot be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/user/userlist", template might not exist or might not be accessible by any of the configured Template Resolvers
at org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:246)
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.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335)
at org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:190)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
解決方案
修改application.properties 文件
spring.thymeleaf.prefix=classpath:templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.cache=false
修改Controller類的返回路徑
@RequestMapping("/user/list")
public String toList() {
return "user/userlist";
}
其中:
return “/user/userlist”; //在eclipse中運行正常,打成jar找不到模板
return “user/userlist”;//在eclipse中運行正常、Jar形式運行正常