Thymeleaf 基础
将java内存中的数据加载到在 html页面上,称为渲染
而 Thymeleaf 就是一种实现视图渲染的技术
-
添加Thymeleaf的jar包
-
新建一个Servlet类ViewBaseSevlet
- 无需手写,搬运即可
-
在web.xml文件中添加配置
-
<!-- 配置上下文参数 prefix-前缀 suffix-后缀 --> <context-param> <param-name>view-prefix</param-name> <param-value>/</param-value> </context-param> <context-param> <param-name>view-suffix</param-name> <param-value>.html</param-value> </context-param>
-
-
使得我们的Servlet继承ViewBaseSevlet
-
根据逻辑视图名称得到物理视图名称
-
public class IndexServlet extends ViewBaseServlet { //此处的视图名称是 index //那么thymeleaf会将这个 逻辑视图名称 对应到 物理视图 名称上去 //逻辑视图名称 : index //物理视图名称 : view-prefix + 逻辑视图名称 + view-suffix //所以真实的视图名称是: / index .html super.processTemplate("index",request,response); }
-
-
在 index.html 顶部添加 thymeleaf 声明
-
<html xmlns:th="http://www.thymeleaf.org">
-
可以使用 thymeleaf 语法,会有相应提示, thymeleaf 语法中可以直接获取 session 保存的数据
-
<tr th:if="${#lists.isEmpty(session.fruitList)}" > <td colspan = "4">很抱歉,库存为空!</td> </tr> <tr th:unless="${#lists.isEmpty(session.fruitList)}" th:each="fruit : ${session.fruitList}"> <td th=text="$fruit.fname">苹果</td> <td th=text="$fruit.price">5</td> <td th=text="$fruit.fcount">20</td> </tr>
-
session.fruitList 获取 session 保存域中的对象,再判断该对象是否为空
-
if = empty 则提示数据为空
-
unless = empty 相当于else,等于 !empty,数据不为空则显示
-
each = "a : List" 相当于for-each迭代器遍历,实现一条语句显示全部数据
-
text="xx" 设置当前标签内部文本为 xx
-