当我在括号中调用它时,Thymeleaf不解析我的应用程序中的片段。那是为什么?

时间:2017-03-01 21:56:10

标签: java spring templates spring-boot thymeleaf

我是春天和百里香的新手。 我有一个带有百里香的弹簧启动网络应用程序,我遇到了一个问题。 这条线很完美:

<footer th:replace="fragments/footer :: footer">Footer</footer>

但是当我在它周围写括号时,就像在documentation中一样,我得到一个错误。

<footer th:replace="~{fragments/footer :: footer}">Footer</footer>

错误:

  

出现意外错误(type = Internal Server Error,status = 500)。   解析模板“〜{fragments / footer”时出错,模板可能不存在,或者任何已配置的模板解析器都无法访问(索引:11)

那么问题是什么,我使用默认的spring boot配置。 pom.xml:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

日志:

  

2017-03-01 22:47:51.585 ERROR 4014 --- [nio-8080-exec-1] org.thymeleaf.TemplateEngine:[THYMELEAF] [http-nio-8080-exec-1]异常处理模板“index”:解析模板“〜{fragments / footer”时出错,模板可能不存在或任何已配置的模板解析器可能无法访问(索引:11)   2017-03-01 22:47:51.591 ERROR 4014 --- [nio-8080-exec-1] oaccC [。[。[/]。[dispatcherServlet]:servlet [dispatcherServlet]的Servlet.service()与上下文有关path []引发异常[请求处理失败;嵌套异常是org.thymeleaf.exceptions.TemplateInputException:错误解析模板“〜{fragments / footer”,模板可能不存在或任何已配置的模板解析器(索引:11)可能无法访问,具有根本原因   org.thymeleaf.exceptions.TemplateInputException:解析模板“〜{fragments / footer”时出错,模板可能不存在,或者任何已配置的模板解析器都无法访问(索引:11)       在org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:246)〜[thymeleaf-2.1.5.RELEASE.jar:2.1.5.RELEASE]       at org.thymeleaf.standard.fragment.StandardFragment.extractFragment(StandardFragment.java:202)~ [thymeleaf-2.1.5.RELEASE.jar:2.1.5.RELEASE]       at org.thymeleaf.standard.processor.attr.AbstractStandardFragmentHandlingAttrProcessor.computeFragment(AbstractStandardFragmentHandlingAttrProcessor.java:72)〜[thymeleaf-2.1.5.RELEASE.jar:2.1.5.RELEASE]       at org.thymeleaf.processor.attr.AbstractFragmentHandlingAttrProcessor.processAttribute(AbstractFragmentHandlingAttrProcessor.java:63)〜[thymeleaf-2.1.5.RELEASE.jar:2.1.5.RELEASE]

1 个答案:

答案 0 :(得分:1)

看起来你正在使用百日咳2.片段表达对百里香叶3来说是新的。

http://www.thymeleaf.org/doc/articles/thymeleaf3migration.html#fragment-expressions