2017-01-06 13 views
0

My Spring Boot RESTアプリケーションでメールテンプレート用のThymeleafのみが使用されます。スプリングブートのthymeleaf自動構成でエラーテンプレートを解決しようとすると問題が発生する

残念ながら、私のブート設定では、エラーが発生したときにエラーテンプレートを解決しようとしています。以下

参照例外:

21:25:30.030 [http-nio-8080-exec-8] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet dispatcherServlet threw exception 
org.thymeleaf.exceptions.TemplateInputException: Error resolving template "error", 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:1257) 
     at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037) 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980) 
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:726) 
     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471) 
     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:394) 
     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311) 
     at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395) 
     at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 
     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784) 
     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) 
     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
     at java.lang.Thread.run(Thread.java:745) 
21:25:30.030 [http-nio-8080-exec-8] ERROR o.a.c.c.C.[Tomcat].[localhost] - Exception Processing ErrorPage[errorCode=0, location=/error] 
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template "error", template might not exist or might not be accessible by any of the configured Template Resolvers 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) 
     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) 
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:726) 
     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471) 
     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:394) 
     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311) 
     at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395) 
     at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) 
     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784) 
     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) 
     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.thymeleaf.exceptions.TemplateInputException: Error resolving template "error", 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:1257) 
     at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037) 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980) 
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 
     ... 25 common frames omitted 

これは(私が唯一のメールテンプレートのThymeleafを使用しています一方)春ブーツページのためThymeleafビューリゾルバを設定していることを示していると思われます。

Springブートでメールテンプレート用のThymeleafのみを使用するようにするには、どうすれば上記の例外を回避できますか?

編集:私は私のapplication.properties

server.error.whitelabel.enabled=false 

に次の行を持っていますが、すべての違いを確認していないようです。 application.propertiesでこのプロパティを使用して

答えて

0

spring.thymeleaf.enabled=false 

は春のMVCのためthymeleafを無効にするようだ - まだメールテンプレートのためthymeleaf保ちながら。

スプリングブートソースコードhereを参照してください。

編集:さらに

、春ブーツで登録されているデフォルトのエラー・コントローラを無効にする必要があると思わ:hereを参照してください。

たとえば、ここで説明するカスタムエラーコントローラを実装できます。https://stackoverflow.com/a/25362790/536299

関連する問題