美文网首页
Spring Boot 切换thymeleaf3

Spring Boot 切换thymeleaf3

作者: 一只变强的Hacker | 来源:发表于2019-07-12 19:57 被阅读0次

    今天在看视频学习spring boot时遇到一点问题,视频时间稍微有点早,而技术发展的又很快,就导致当时的设置现在好像不起作用,现在解决了。

    教程教导模板引擎thymeleaf的使用,然而spring boot框架默认给我们设置的是thymeleaf2,这个版本太老了,需要切换到thymeleaf3,按照视频里的教程到官方文档翻了一下,没有找到,于是按照之前的方法,使用thymeleaf前在pom文件里引入如下依赖:

        <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
    

    切换版本:

        <properties>
            <java.version>1.8</java.version>
            <thymeleaf.version>3.0.0.RELEASE</thymeleaf.version>
            <thymeleaf-layout-dialect.version>2.0.0</thymeleaf-layout-dialect.version>
        </properties>
    

    然后发现,这个方法可以正常运行不会报错,但是在使用时会报错:

    报错如下

    之后上了thymeleaf的官网看了一下,添加了下面两个依赖

    <dependency>
      <groupId>org.thymeleaf</groupId>
      <artifactId>thymeleaf</artifactId>
      <version>3.0.0.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.thymeleaf</groupId>
      <artifactId>thymeleaf-spring4</artifactId>
      <version>3.0.0.RELEASE</version>
    </dependency>
    

    同样的错误:

    image

    google了一下,这篇博文写比较详细

    当没有声明ViewResolver时,spring会给你注册一个默认的ViewResolver,就是JstlView的实例, 该对象继承自InternalResoureView。

    JstlView用来封装JSP或者同一Web应用中的其他资源,它将model对象作为request请求的属性值暴露出来, 并将该请求通过javax.servlet.RequestDispatcher转发到指定的URL.

    Spring认为, 这个view的URL是可以用来指定同一web应用中特定资源的,是可以被RequestDispatcher转发的。

    也就是说,在页面渲染(render)之前,Spring会试图使用RequestDispatcher来继续转发该请求。

    所以问题就是thymeleaf没有正确引入,所以导致视图解析器不起作用。

    最后试了一下引入这两个依赖,properties不需要更改,问题成功解决了:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf-spring4</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>
    

    相关文章

      网友评论

          本文标题:Spring Boot 切换thymeleaf3

          本文链接:https://www.haomeiwen.com/subject/vizykctx.html