SpringBoot引入thymeleaf模板引擎注意问题

2、Thymeleaf使用

只要我们把HTML页面放在classpath:/templates/,thymeleaf就能自动渲染;
使用:
1、导入thymeleaf的名称空间

2、使用thymeleaf语法;

org.springframework.boot spring‐boot‐starter‐thymeleaf 2.1.6 切换thymeleaf版本 3.0.9.RELEASE 2.2.2

如果勾选了数据库模块,却没有配置数据库可能会出现以下问题
Cannot determine embedded database driver class for database type NONE
原因是:springboot启动时会自动注入数据源和配置jpa

解决办法:在@SpringBootApplication中排除其注入

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})

html文件要放在main\resources\templates下
在controller文件中不能使用@ResponseBody,@RestController,使用了会导致无法正确打开html文件,而会自动拼接字符

正确
SpringBoot引入thymeleaf模板引擎注意问题_第1张图片SpringBoot引入thymeleaf模板引擎注意问题_第2张图片SpringBoot引入thymeleaf模板引擎注意问题_第3张图片
如果添加了@ResponseBody,@RestController,在浏览器中就只会显示success,而不会显示success.html文件里的内容

因依赖版本导致的问题

spring-boot-starter-parent版本问题,当版本为2.2.2时,会出现以下错误,将其改为1.5.10后无此错误
SpringBoot引入thymeleaf模板引擎注意问题_第4张图片

Description:

An attempt was made to call the method org.thymeleaf.spring5.SpringTemplateEngine.setRenderHiddenMarkersBeforeCheckboxes(Z)V but it does not exist. Its class, org.thymeleaf.spring5.SpringTemplateEngine, is available from the following locations:

jar:file:/C:/CODE/maven-repository/org/thymeleaf/thymeleaf-spring5/3.0.9.RELEASE/thymeleaf-spring5-3.0.9.RELEASE.jar!/org/thymeleaf/spring5/SpringTemplateEngine.class

It was loaded from the following location:

file:/C:/CODE/maven-repository/org/thymeleaf/thymeleaf-spring5/3.0.9.RELEASE/thymeleaf-spring5-3.0.9.RELEASE.jar

Action:

Correct the classpath of your application so that it contains a single, compatible version of org.thymeleaf.spring5.SpringTemplateEngine

你可能感兴趣的:(SpringBoot)