基于maven管理springboot项目配置
在pom.xml文件添加thymeleaf的依赖
org.springframework.boot
spring-boot-starter-thymeleaf
启用thymeleaf模版引擎
application.properties文件中加入配置:
#thymeleaf配置
#指定国际化文件
#spring.messages.basename=templates/home
# Enable template caching.
spring.thymeleaf.cache=true
# Check that the template exists before rendering it.
spring.thymeleaf.check-template=true
# Check that the templates location exists.
spring.thymeleaf.check-template-location=true
# Enable Thymeleaf view resolution for Web frameworks.
spring.thymeleaf.enabled=true
# Template files encoding.
spring.thymeleaf.encoding=UTF-8
# Comma-separated list of view names that should be excluded from resolution.
#spring.thymeleaf.excluded-view-names=
# Template mode to be applied to templates. See also StandardTemplateModeHandlers.
spring.thymeleaf.mode=HTML
# Prefix that gets prepended to view names when building a URL.
spring.thymeleaf.prefix=classpath:/templates/
# Maximum size of data buffers used for writing to the response, in bytes.
#spring.thymeleaf.reactive.max-chunk-size=
# Media types supported by the view technology.
#spring.thymeleaf.reactive.media-types=
# Content-Type value written to HTTP responses.
spring.thymeleaf.servlet.content-type=text/html
# Suffix that gets appended to view names when building a URL.
spring.thymeleaf.suffix=.html
# Order of the template resolver in the chain.
# spring.thymeleaf.template-resolver-order=
# Comma-separated list of view names that can be resolved.
# spring.thymeleaf.view-names=
thymeleaf命名空间
1.无需引入th命名空间,html5支持的自定义属性
data-th-text形式 :
2.需引入命名空间
th:text形式 :
hello world
可以在标签中使用运算符+, -, *, /, %
:
运算符:
home.welcome=this messages is from home.properties!
home_zh_CN.properties:
home.welcome=来自于home.properties消息
Note:配置国际化资源文件时,一定要建立默认的XX.properties文件,再建立各个区域下的XX_zh_CN.properties文件;
使用消息表达式引用文字:
使用消息表达式时,经常出现的错误??home.welcome_zh_CN??
网上提供的解决方案:
第一种:在thymeleaf页面中引入:
引入css文件夹下的gtvg.css,不过发现没有这个文件,尝试这种解决方式发现没有效果
第二种:
在application.properties文件中加入一条配置:
#指定国际化文件位置
spring.messages.basename=templates/home
亲测有效,加入配置运行成功;
链接表达式:
1. 相对当前路径
=> http://localhost:8080/static/js/test.js
2. 相对服务器
=> http://localhost:8080/static/js/test.js
3. 相对协议路径
=> static/js/test.js
4. 绝对路径
=> http://localhost:8080/static/js/test.js
©2019 sdongwan
其他页面引用footer页面中的碎片
th:insert方式
测试insert碎片
效果等同于:
©2019 sdongwan
th:replace方式
测试replace碎片
效果等同于:
©2019 sdongwan
th:include方式
测试include碎片
效果等同于:
©2019 sdongwan
note:注意一下三者的区别;
user.name =sdongwan
user.name != sdongwan
等同于java里面:
if () {
...
} else {
...
}
note:if满足了,对应条件下的unless下的标签不会显示
2.switch判断
user is a girl
user is a boy
user's gender is unknown
note:前面的case执行了,后面的case就不会显示出来
比较判断
大于(> or gt),
小于(< or lt),
大于等于(>= or ge) ,
小于等于(<= or le),
等于(== or eq) ,
不等于(!= or ne)
user.name = sdongwan
note:比较表达式建议使用gt,lt…这种写法,使用>,<…在html中容易与标签混淆;
效果:
name0
name1
name2
类似于java中for each循环:
for(User user : userList) {
}
设置任意属性(内置属性和自定义属性)值
html标签内置的属性可以直接使用下面这种写法:
设置内置属性值
thymeleaf 3.0 官方使用手册:usingthymeleaf