Thymeleaf入门(基于SpringBoot)
2021-04-23 06:29
YPE html>
标签:autoconf 详细 ati 拼接 new freemark row tco admin
- 1.简介
- 2.pom.xml中导入依赖
- 3.Thymeleaf的入门
- 4.Thymeleaf语法规则
- ①语法规则:th:xx xx代表html对应的属性
- ②常见属性
- ③表达式语法
- ④字面量(Literals ,官方文档4.6节)
- ⑤其他操作运算(4.7-4.13节)
- 附录
1.简介
Thymeleaf是流行的模板引擎,Spring Boot推荐使用。语法简介,功能更加强大。
模板引擎:JSP、FreeMarker、Velocity、Thymeleaf
2.pom.xml中导入依赖
org.springframework.boot
spring-boot-starter-thymeleaf
3.Thymeleaf的入门
①使用规则:只要把页面放在classpath:/templates/,文件后缀名.html,Thymeleaf就可以自动渲染
具体原理(参考org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties),下面是部分代码
public class ThymeleafProperties {
private static final Charset DEFAULT_ENCODING;
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";
private boolean checkTemplate = true;
private boolean checkTemplateLocation = true;
private String prefix = "classpath:/templates/";
private String suffix = ".html";
private String mode = "HTML";
②入门:
a.导入Thymeleaf名称空间(页面输入就会有提示了)
b.使用Thymeleaf语法
c.后端把数据放到请求域中
a.导入Thymeleaf名称空间(页面输入就会有提示了)
Hello Thymeleaf
b.使用Thymeleaf语法(此处直接打开页面,显示的是[你好,HTML!])
你好,HTML!
c.后端把数据放到请求域中
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(Model model) {
Map map = new HashMap();
map.put("aa", "你好,Thymeleaf!");
model.addAllAttributes(map);
return "hello";
}
}
d.启动服务,访问localhost:8080/hello,程序运行结果
4.Thymeleaf语法规则
①语法规则:th:xx xx代表html对应的属性
个人理解语法规则的形式:在html的标签中使用Thymeleaf的属性,把获取到的值展示到标签体中
例如:
[aa对应的值展示位置]
②常见属性
属性 | 对应中文描述 |
---|---|
th:insert th:replace |
片段包含(Fragment inclusion) |
th:each | 遍历(Fragment iteration) |
th:if th:unless th:switch th:case |
条件判断(Conditional evaluation) |
th:object th:with |
声明变量(Local variable definition) |
th:attr th:attrprepe th:attrappen |
任意属性修改(General attribute modification) |
th:value th:href th:src ... |
修改指定属性默认值(Specific attribute modification th:value) |
th:text th:utext |
修改标签体内容(Text (tag body modification)) th:text会原样输出内容; th:utext会对输入的内容进行转义,输出的值有样式的话会展示对应的样式。 |
③表达式语法
表达式 | 描述 |
---|---|
${...} | 获取变量值;符合OGNL表达式语法 1)获取对象的属性、调用方法 2) 获取内置对象(内置对象详细使用方法,见附录中官网文档中第4.2节) 内置对象(部分需要在web环境下才可以获取):#ctx 、#vars: 、#locale 、#request 、#response 、#session :、#servletContext 3)内置的工具对象(见附录中官网文档中第4.2节) 内置工具对象:#execInfo 、#messages、#uris 、#conversions、#dates 、#calendars 、#numbers、#strings 、#objects 、#bools 、#arrays 、#lists、#sets 、#maps 、#aggregates、#ids |
*{...} | 1)与${...}功能一致 2)配合th:object使用 例: Name: Sebastian. Surname: Pepper. Nationality: Saturn. |
#{...} | 获取国际化内容 |
@{...} | 定义URL 好处:不用进行拼接 例:view |
~{...} | 片段表达式 |
④字面量(Literals ,官方文档4.6节)
1.文本(Text literals)
Now you are looking at a template file.
2.数字(Number literals)
The year is 1492.
In two years, it will be 1494.
3.布尔(Boolean literals)
4.null(The null literal)
5.token
⑤其他操作运算(4.7-4.13节)
1.文本拼接(Appending texts)
使用 + 号进行文本拼接
2.文本替换(Literal substitutions)
|文本内容|,文本内容可以进行替换,下面两个操作的是等同的
3.数学运算(Arithmetic operations)
+ , - , * , / , %
4.比较运算(Comparators and Equality)
> , = ,
5.三元运算符(Conditional expressions)
...
附录
Thymeleaf官方文档
Thymeleaf入门(基于SpringBoot)
标签:autoconf 详细 ati 拼接 new freemark row tco admin
原文地址:https://www.cnblogs.com/zuo-shuai/p/13270157.html
文章标题:Thymeleaf入门(基于SpringBoot)
文章链接:http://soscw.com/index.php/essay/78430.html