Thymeleaf简单入门

148 阅读1分钟

这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战

简介

Thymeleaf是一个现代服务器端 Java 模板引擎,用于 Web 和独立环境。

Thymeleaf 的主要目标是将优雅的自然模板引入您的开发工作流 – HTML,它可以在浏览器中正确显示,也可以作为静态原型工作,从而在开发团队中实现更强的协作。

借助 Spring Framework 的模块、与您喜爱的工具的大量集成以及插入您自己的功能的能力,Thymeleaf 是现代 HTML5 JVM Web 开发的理想之选,尽管它还可以执行更多工作

参考文献:www.thymeleaf.org/index.html

Thymeleaf常用语法

th:text

<!--通过key=msg 获取对象 赋值给span标签内部-->
<span th:text="${msg}" ></span>

th:value

<!--单标签接收数据-->
<input type="text" th:value="${msg}">

th:if

<span th:if="${name}!='张三'">会显示</span>

th:each

属性

index:当前迭代器的索引 从0开始

count:当前迭代对象的计数 从1开始

size:被迭代对象的长度

even/odd:布尔值,当前循环是否是偶数/奇数 从0开始

first:布尔值,当前循环的是否是第一条,如果是返回true否则返回false

last:布尔值,当前循环的是否是最后一条,如果是则返回true否则返回false

<table border="1px">
    <tr>
        <th>下标</th>
        <th>编号</th>
        <th>名称</th>
        <th>产地</th>
        <th>计数</th>
        <th>长度</th>
        <th>第一行?</th>
        <th>最后一行?</th>
        <th>even?</th>
        <th>odd?</th>
        <th>操作</th>
    </tr>
    <tr th:each="f,i:${li}"  >
        <th th:text="${i.index}" ></th>
        <th th:text="${f.id}" ></th>
        <th th:text="${f.name}" ></th>
        <th th:text="${f.price}" ></th>
        <th th:text="${i.count}" ></th>
        <th th:text="${i.size}" ></th>
        <th th:text="${i.first}" ></th>
        <th th:text="${i.last}" ></th>
        <th th:text="${i.even}" ></th>
        <th th:text="${i.odd}" ></th>

        <th >
            <a th:href="@{/demo2(id=${f.id},name=${f.name})}">删除</a>
            <a href="javascript:void(0)" th:onclick="'dome1('+${f.id}+')'" >删除2</a>
        </th>
    </tr>
</table>

th:herf

 <!--<a href="/demo2?id=2&amp;name=UU">删除</a>-->
 <a th:href="@{/demo2(id=${f.id},name=${f.name})}">删除</a>

th:onclick

<a href="javascript:void(0)" th:onclick="'dome1('+${f.id}+')'" >删除2</a>

字符串处理

方法描述
${#strings.contains(msg,T)}判断字符串是否包含指定的子串,如果包含返回true,否则返回false
${#strings.startsWith(msg,'a')}判断当前字符串是否以子串开头,如果是返回true,否则返回false
${#strings.endsWith(msg,'a')}判断当前字符串是否以子串结尾,如果是返回true,否则返回false
${#strings.length(msg)}返回字符串的长度
${#strings.indexOf(msg,'h')}查找子串的位置,并返回该子串的下标,如果没找到则返回-1
${#strings.isEmpty(key)}判断字符串是否为空,如果为空返回true,否则返回false
<span th:text="${#strings.isEmpty('msg')}"></span>
<span th:text="${#strings.length('msg')}"></span>
<span th:text="${#strings.indexOf('msg','g')}"></span>

日期处理

自定义日期格式

<span th:text="${#dates.format(date,'yyyy-MM-dd')}"></span>

Year:取年

<span th:text="${#dates.year(date)}"></span>

Month:取月

<span th:text="${#dates.month(date)}"></span>

Day:取日

<span th:text="${#dates.day(date)}"></span>

域对象

<span th:text="${#request.getAttribute('msg')}"></span>
<span th:text="${session.msg}"></span>
<span th:text="${application.msg}"></span>