2013-05-22 38 views
0

我使用thymeleaf 2.0.5用弹簧3的MVC配置为webmvc-config.xml中Thymeleaf模板引擎吞咽例外

<bean id="templateResolver" 
    class="org.thymeleaf.templateresolver.ServletContextTemplateResolver" 
    p:prefix="/WEB-INF/templates/" 
    p:suffix=".html" 
    p:templateMode="HTML5" /> 

<bean id="templateEngine" 
    class="org.thymeleaf.spring3.SpringTemplateEngine" 
    p:templateResolver-ref="templateResolver" /> 

<bean id="viewResolver" 
    class="org.thymeleaf.spring3.view.ThymeleafViewResolver" 
    p:templateEngine-ref="templateEngine" /> 

上述配置工作正常如下。的问题是,当一个异常被抛出我看到在日志以下隐蔽消息:

ERROR org.thymeleaf.TemplateEngine - [THYMELEAF] [1]异常处理模板“dataAccessFailure”:错误解析模板“dataAccessFailure “,模板可能不存在或可能无法被任何配置的模板解析器访问

有没有办法配置视图解析器以排除某些模式?


按照接受的答案,我改变了以下豆配置在webmvc-config.xml中

<bean id="viewResolver" 
     class="org.thymeleaf.spring3.view.ThymeleafViewResolver" 
     p:templateEngine-ref="templateEngine" 
     p:viewNames="index,questionnaires/*" /> 

回答

4

你可以配置你的模板解析器仅由模板解析器的viewNames财产的方式解决某个视图名称。在此属性中,您可以输入多个模式(用逗号分隔)并使用通配符,如admin/*

免责声明,由于StackOverflow规则:我是thymeleaf的作者。

+1

我注意到在javadoc中,你也可以设置'excludedViewNames' –

0

你能不能在你的web.xml中映射到“dataAccessFailure”一个错误页面。喜欢的东西:

<error-page> 
    <exception-type>java.lang.Throwable</exception-type> 
    <location>/dataAccessFailure</location> 
</error-page>