最近在用springboot+thymeleaf 做网站但是每次访问经常报错,时好时坏,不知道啥原因,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最近在用springboot+thymeleaf 做网站但是每次访问经常报错,时好时坏,不知道啥原因,相关的知识,希望对你有一定的参考价值。

2018-04-04 00:11:20.061 ERROR 2136 --- [nio-8082-exec-7] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8082-exec-7] Exception processing template "list": An error happened during template parsing (template: "class path resource [templates/list.html]")org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/list.html]") at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:241) ~[thymeleaf-3.0.9.RELEASE.jar:3.0.9.RELEASE] at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100) ~[thymeleaf-3.0.9.RELEASE.jar:3.0.9.RELEASE]

我的答案可能不能解决所有人的问题,首先在后台打印一下数据,确认不是后台的错误,前端页面的错误一般是由于私有属性造成的,解决办法就是调用get方法,如:
<tr th:each="user:$emps">
<th scope="row" th:text="$user.getId()"></th>
<td th:text="$user.getName()"></td>
<td th:text="$user.getEmail()"></td>
</tr>
参考技术A Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sun Apr 08 10:47:03 CST 2018
There was an unexpected error (type=Internal Server Error, status=500).
Error
resolving template "books_upload", template might not exist or might
not be accessible by any of the configured Template Resolvers
同问????

springboot 中使用thymeleaf

Spring Boot支持FreeMarker、Groovy、Thymeleaf和Mustache四种模板解析引擎,官方推荐使用Thymeleaf。

spring-boot-starter-thymeleaf

在Spring Boot中使用Thymeleaf只需在pom中加入Thymeleaf的starter即可:

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

 

在Spring Boot 1.5.9.RELEASE版本中,默认的Thymeleaf版本为2.1.6.RELEASE版本,这里推荐使用3.0以上版本。在pom中将Thymeleaf的版本修改为3.0.2.RELEASE:

1
2
3
4
<properties>
<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.0.1</thymeleaf-layout-dialect.version>
</properties>

 

在Spring Boot中,默认的html页面地址为src/main/resources/templates,默认的静态资源地址为src/main/resources/static。

Thymeleaf默认配置

在Spring Boot配置文件中可对Thymeleaf的默认配置进行修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#开启模板缓存(默认值:true)
spring.thymeleaf.cache=true
#Check that the template exists before rendering it.
spring.thymeleaf.check-template=true
#检查模板位置是否正确(默认值:true)
spring.thymeleaf.check-template-location=true
#Content-Type的值(默认值:text/html)
spring.thymeleaf.content-type=text/html
#开启MVC Thymeleaf视图解析(默认值:true)
spring.thymeleaf.enabled=true
#模板编码
spring.thymeleaf.encoding=UTF-8
#要被排除在解析之外的视图名称列表,用逗号分隔
spring.thymeleaf.excluded-view-names=
#要运用于模板之上的模板模式。另见StandardTemplate-ModeHandlers(默认值:HTML5)
spring.thymeleaf.mode=HTML5
#在构建URL时添加到视图名称前的前缀(默认值:classpath:/templates/)
spring.thymeleaf.prefix=classpath:/templates/
#在构建URL时添加到视图名称后的后缀(默认值:.html)
spring.thymeleaf.suffix=.html
#Thymeleaf模板解析器在解析器链中的顺序。默认情况下,它排第一位。顺序从1开始,只有在定义了额外的TemplateResolver Bean时才需要设置这个属性。
spring.thymeleaf.template-resolver-order=
#可解析的视图名称列表,用逗号分隔
spring.thymeleaf.view-names=

 

一般开发中将spring.thymeleaf.cache设置为false,其他保持默认值即可。

以上是关于最近在用springboot+thymeleaf 做网站但是每次访问经常报错,时好时坏,不知道啥原因,的主要内容,如果未能解决你的问题,请参考以下文章

thymeleaf页面未及时更新

Spring boot:如何将thymeleaf转换为jsp

JavaScript - thymeleaf 在 js 中渲染的一个问题

还在用 OpenFeign?来试试 SpringBoot3 中的这个新玩意!

springboot的thymeleaf模板问题springboot的thymeleaf模板问题

SpringBoot——SpringBoot集成Thymeleaf