
11 th:id
替换id标签
12 th:text
文本替换,包括html标签
13 th:utext
文本替换,html标签会显示出正确的样式
14 th:object
替换对象, 用于表单数据对象绑定,将表单绑定到后台controller的一个JavaBean参数。常与th:field一起使用进行表单数据绑定。
15 th:value
属性赋值
16 th:with
定义局部变量。
当th:with被处理,firstPer变量创建一个局部变量和变量添加到map自上下文, 以便它是用于评估和其他上下文中声明的变量从开始,但只有包含< div >标记的范围内。
定义多个局部变量
17 th:style
设置样式
18 th:onclick
点击事件
19 th:each
属性赋值
110 th:if
判断条件
111 th:unless
和th:if判断相反
112 th:href
链接地址
113 th:switch
多路选择配合th:case使用
114 th:fragment
自定义片段,定义fragment,所有的fragment可以写在一个文件里面,也可以单独存在
115 th:insert
保留自己的主标签,保留th:fragment的主标签。
116 th:replace
不要自己的主标签,保留th:fragment的主标签。
117 th:include
保留自己的主标签,不要th:fragment的主标签。(官方30后不推荐)
结果为:
118 th:selectd
selected选择框选中
119 th:src
类地址引入
120 th:inline
定义js脚本可以使用变量
121 th:action
表单提交的地址
122 th:remove
删除某个属性
1all:删除包含标签和所有的孩子。
2body:不包含标记删除,但删除其所有的孩子。
3tag:包含标记的删除,但不删除它的孩子。
4all-but-first:删除所有包含标签的孩子,除了第一个。
5none:什么也不做。这个值是有用的动态评估。
123 th:attr
设置标签属性,多个属性可以用逗号分隔
$ {} 变量表达式,可用于获取后台传过来的值
{} 选择变量表达式
#{} 消息表达式
@ {} 链接⽹址表达式,用于替换网页中的 src、href 等的值
〜{} ⽚段表达式,可以用于引用公共的目标片段
@{} 处理 url 地址
Thymeleaf 的 @ {} 表达式用于处理 web 应用中的 url 地址,可以是相对地址,也可以是绝对地址。
@{/} 斜杠开头表示相对整个应用根目录,"/" 表示 "/应用上下文路径"
假如页面当前浏览器地址为:>
### 1、定义方言Dialect
继承AbstractProcessorDialect
```
public class PagingDialect extends AbstractProcessorDialect {
private static final String DIALECT_NAME = "PagingDialect";//定义方言名称
public PagingDialect() {
super(DIALECT_NAME, "paging", StandardDialectPROCESSOR_PRECEDENCE);
//优先级:值必须为:StandardDialectPROCESSOR_PRECEDENCE
}
@Override
public Set getProcessors(String dialectPrefix) {
Set processors = new HashSet();
//添加我们定义的标签
processorsadd(new PagingTagProcessor(dialectPrefix));
processorsadd(new StandardXmlNsTagProcessor(TemplateModeHTML, dialectPrefix));
return processors;
}
}
```
### 2、添加自定义处理程序Processor
继承AbstractElementTagProcessor
```
public class PagingTagProcessor extends AbstractElementTagProcessor {
private static final String TAG_NAME = "pager";//标签名
private static final int PRECEDENCE = 10000;//优先级,必须是10000,否则读取不到标签的赋值
public PagingTagProcessor(String dialectPrefix) {
super(
TemplateModeHTML, // 此处理器将仅应用于HTML模式
dialectPrefix, // 要应用于名称的匹配前缀
TAG_NAME, // 标签名称:匹配此名称的特定标签
true, // 没有要应用于标签名称的前缀
null, // 无属性名称:将通过标签名称匹配
false, // 没有要应用于属性名称的前缀
PRECEDENCE // 优先(内部方言自己的优先)
);
}
@Override
protected void doProcess(ITemplateContext context,
IProcessableElementTag tag,
IElementTagStructureHandler structureHandler) {
String url = ((WebEngineContext) context)getRequest()getRequestURL()toString();
String queryString = ((WebEngineContext) context)getRequest()getQueryString();
String pageUrl = "";
if (StringUtilsisEmpty(queryString)) {
pageUrl = url + "page=";
} else {
pageUrl = url + "" + queryString + "&page=";
}
ApplicationContext appCtx = SpringContextUtilsgetApplicationContext(context);
//读取标签内容(当前页),注意标签必须是自带标签才能正常读取值
String pageIndexString = taggetAttributeValue("value");
//读取标签内容(页码大小)
String pageSizeString = taggetAttributeValue("size");
//读取标签内容(数据大小)
String totalSizeString = taggetAttributeValue("rows");
}
}
```
### 3、使用@Bean注解完成方言注入
在SpringBoot Application类中加入注入
```
@Bean
public PagingDialect paging() {
return new PagingDialect();
}
```
### 4、页面应用
```
```
以上就是关于Thymeleaf的标签和表达式全部的内容,包括:Thymeleaf的标签和表达式、如何在HTML页面用EL表达式接受JSP页面session中传过来的值、SpringBoot2中使用thymeleaf3自定义分页方言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)