常用th标签都有那些?
关键字 功能介绍 案例
th:id 替换id <input th:id="'xxx' + ${collect.id}"/>
th:text 文本替换 <p th:text="${collect.description}">description</p>
th:utext 支持html的文本替换 <p th:utext="${htmlcontent}">conten</p>
th:object 替换对象 <div th:object="${session.user}">
th:value 属性赋值 <input th:value="${user.name}" />
th:with 变量赋值运算 <div th:with="isEven=${prodStat.count}%2==0"></div>
th:style 设置样式 th:style="'display:' + @{(${sitrue} ? 'none' : 'inline-block')} + ''"
th:onclick 点击事件 th:οnclick="'getCollect()'"
th:each 属性赋值 tr th:each="user,userStat:${users}">
th:if 判断条件 <a th:if="${userId == collect.userId}" >
th:unless 和th:if判断相反 <a th:href="@{/login}" th:unless=${session.user != null}>Login</a>
th:href 链接地址 <a th:href="@{/login}" th:unless=${session.user != null}>Login</a> />
th:switch 多路选择 配合th:case 使用 <div th:switch="${user.role}">
th:case th:switch的一个分支 <p th:case="'admin'">User is an administrator</p>
th:fragment 布局标签,定义一个代码片段,方便其它地方引用 <div th:fragment="alert">
th:include 布局标签,替换内容到引入的文件 <head th:include="layout :: htmlhead" th:with="title='xx'"></head> />
th:replace 布局标签,替换整个标签到引入的文件 <div th:replace="fragments/header :: title"></div>
th:selected selected选择框 选中 th:selected="(${xxx.id} == ${configObj.dd})"
th:src 图片类地址引入 <img class="img-responsive" alt="App Logo" th:src="@{/img/logo.png}" />
th:inline 定义js脚本可以使用变量 <script type="text/javascript" th:inline="javascript">
th:action 表单提交的地址 <form action="subscribe.html" th:action="@{/subscribe}">
th:remove 删除某个属性 <tr th:remove="all">
1.all:删除包含标签和所有的孩子。
2.body:不包含标记删除,但删除其所有的孩子。
3.tag:包含标记的删除,但不删除它的孩子。
4.all-but-first:删除所有包含标签的孩子,除了第一个。
5.none:什么也不做。这个值是有用的动态评估。
th:attr 设置标签属性,多个属性可以用逗号分隔 比如 th:attr="src=@{/image/aa.jpg},title=#{logo}",此标签不太优雅,一般用的比较少。
1、checked 复选框回显的时候默认选中
th:checked="${event.name eq '' }" 单引号里放上你要相等的值
<input name="form['GENDER']" type="radio" class="ace" value="1" th:checked="${form.GENDER==1}">
2、下拉框(select option)回显选中
3、空值处理
加上result?.
例:<input type="text" class="form-control" maxlength="50" data-validation-engine="validate[custom[email]]"
name="form['EMAIL']" th:value="${result?.form?.EMAIL}"/>
4、如果是需要字符串与model中的值进行拼接的话,写法为th:text="'字符串'+${model的name}"
th:text="'姓名:'+${childD.name}"
5、引用公共CSS和JS
thymeleaf 创建引入公共模块:
1,th:inssert:保留当前主标签,保留th:fragment主标签;
2,th:replace:舍弃当前主标签,保留th:fragment主标签;
3,th:include:保留当前主标签,舍弃th:fragment主标签。
格式:引入:<head th:replace="路径 :: 模块名"></head>模块:<div th:fragment="模块名"></div>注1:引入的路径以默认的根路径static为相对路径.eg: <head th:replace="../templates/system/index/headLink :: links"></head>注2:引入头部公共外部资源问题由于<head></head>标签中不能存放<div></div>之类的标签,而不同页面的title基本上都不同,再加上网站后期的SEO优化需要的<meta/>标签,这些都要单独出来 <head th:replace="路径 :: 模块名"></head>或者<div th:include="路径 :: 模块名"></div>都会使引入或者模块中的主标签保留下来在此处都是不适用的,解决方法如下:引入:<div th:replace="路径 :: 模块名"></div>模块:<th:block th:fragment="模块名"></th:block><th:block></th:block>是Thymeleaf提供的唯一的一个Thymeleaf块级元素,其特殊性在于Thymeleaf模板引擎在处理<th:block>的时候会删掉它本身,而保留其内容。(多用于渲染平级标签)th:replace 和<th:block>的结合,完美舍弃引入和模块处的主标签。
---------------------
作者:御神木下的思念
来源:CSDN
原文:https://blog.csdn.net/qq_35123187/article/details/79986039
页面:
<link th:replace="_common/commonCSS::CSS">
公共模块;
<th:block th:fragment="CSS">
<!--浏览器兼容性设置-->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
</th:block>