Wie in der Spring-Dokumentation angegeben, können Sie bei Verwendung von Thymeleaf 3 mit Spring Boot das übergeordnete Element Spring-Boot-Starter-Parent verwenden, indem Sie es in solchen Eigenschaften angeben.
<properties>
<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>
Spring-Boot-Starter-Parent kann jedoch nicht als Parent angegeben werden, wenn der Pom, der als Parent angegeben werden soll, von der Firma festgelegt wird. In diesem Fall war die Einstellung zur Verwendung von Thymeleaf 3 kompliziert. Notieren Sie sich dies.
Auch in hier Obwohl es geschrieben ist, schreiben Sie Spring-Boot-Abhängigkeit in <dependencyManagement>
, wenn es nicht als übergeordnetes Element angegeben ist
<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>
Es wird die Version der Abhängigkeiten angegeben, die für Spring Boot erforderlich sind.
Diejenigen, die standardmäßig eingeben, werden in hier oder im Pom der Hauptfamilie geschrieben.
Wenn Sie es weiterhin verwenden, wird thymeleaf 2.1.5 installiert. Da ich 3 verwenden möchte, schreiben Sie die Version des Moduls, das Sie vor Spring-Boot-Abhängigkeiten ändern möchten, in "
<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>
Es ist so.
Wenn Sie nur in "
<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>
So was! Wenn "Spring-Boot-Starter-Thymeleaf" in pom geschrieben ist, löschen Sie es.
Zuerst wollte ich LocalDateTime mit thymeleaf verwenden, also habe ich thymeleaf-extras-java8time eingefügt.
Wenn from in # temporals.format (from, 'yyyyMMdd')
null ist, wenn es sich um ein 2-System handelt, wird IllegalArgumentException: Format kann nicht auf null angewendet
angezeigt und es ist schwierig, 3.0 zu verwenden. Ich fand, dass es in 1 gelöst wurde. This
Das 3-System von thymeleaf-extras-java8time muss jedoch thymeleaf 3 sein. Wenn ich also vorerst dachte, dass ich die Version von thymeleaf in den Eigenschaften auf 3 setzen sollte, habe ich einen Fehler wie "ClassNotFoundException IExpressionObjectDialect" erhalten und werde dies untersuchen Es scheint, dass die Version noch Thymeleaf 2 war, als ich sie gerade in den Eigenschaften angegeben habe.
Recommended Posts