Comme indiqué dans la documentation de Spring, lorsque vous utilisez thymeleaf 3 avec Spring Boot, si le parent est spring-boot-starter-parent, vous pouvez l'utiliser en le spécifiant dans des propriétés comme celle-ci.
<properties>
    <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
    <thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>
Cependant, spring-boot-starter-parent ne peut pas être spécifié comme parent lorsque le pom à spécifier comme parent est décidé par la société. Dans ce cas, le réglage pour utiliser thymeleaf 3 était compliqué, alors notez-le.
Également en ici Bien qu'il soit écrit, s'il n'est pas spécifié comme parent, écrivez spring-boot-dependency dans <dependencyManagement>
<dependencyManagement>
     <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.5.6.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
Il spécifie la version des dépendances requises par Spring Boot.
Celui qui entre par défaut est écrit dans ici ou dans le pom de la famille head.
Si vous continuez à l'utiliser, thymeleaf 2.1.5 sera installé. Puisque je veux utiliser 3, écrivez la version du module que vous voulez changer avant spring-boot-dependencies dans <dependencyManagemet> et écrasez-la.
<properties>
    <spring-boot.version>1.5.6.RELEASE</spring-boot.version>
    <thymeleaf.version>3.0.7.RELEASE</thymeleaf.version>
    <thymeleaf-spring4.version>3.0.7.RELEASE</thymeleaf-spring4.version>
    <thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
  </properties>
<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf</artifactId>
        <version>${thymeleaf.version}</version>
      </dependency>
      <dependency>
        <groupId>nz.net.ultraq.thymeleaf</groupId>
        <artifactId>thymeleaf-layout-dialect</artifactId>
        <version>${thymeleaf-layout-dialect.version}</version>
      </dependency>
      <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf-spring4</artifactId>
        <version>${thymeleaf-spring4.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring-boot.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
C'est comme ça.
Si vous écrivez simplement dans <dependencyManagement>, le module essentiel ne sera pas installé, donc
J'écrirai le module à installer dans <dependencies>.
<dependencies>
    <dependency>
   <dependency>
      <groupId>org.thymeleaf</groupId>
      <artifactId>thymeleaf-spring4</artifactId>
    </dependency>
    <dependency>
      <groupId>nz.net.ultraq.thymeleaf</groupId>
      <artifactId>thymeleaf-layout-dialect</artifactId>
    </dependency>
  </dependencies>
Comme ça!
Si spring-boot-starter-thymeleaf est écrit en pom, supprimez-le.
Au début, je voulais utiliser LocalDateTime avec thymeleaf, j'ai donc inclus thymeleaf-extras-java8time.
Quand from est nul dans # temporals.format (from, 'aaaaMMjj'), ʻIllegalArgumentException: Cannot apply format on nullapparaît dans le 2ème système et il est difficile à utiliser. J'ai trouvé qu'il a été résolu en 1. [Ce](https://github.com/thymeleaf/thymeleaf-extras-java8time/issues/14)  Cependant, le système 3 de thymeleaf-extras-java8time doit être thymeleaf 3, donc pour le moment, si je pensais que je devrais définir la version de thymeleaf sur 3 dans les propriétés, j'ai eu une erreur commeClassNotFoundException IExpressionObjectDialect` et je vais enquêter Il semble que la version était toujours thymeleaf 2 lorsque je viens de le spécifier dans les propriétés.
Recommended Posts