Thymeleaf 排除标签(不写在标签中)直接显示内容

一般情况下 Thymeleaf 模板要输出变量需要在某个标签中(如<div>、<span>)写th:text等属性来实现。但有时我们希望想不写在标签中,直接输出变量的值,比如在 <title> 标签中直接显示变量 msg 的值,而不需要包含在 <span> 等标签中。

解决方案一:

使用 th:block

<title><th:block th:text="${msg}" /> - 服务器错误。</title>

参考:https://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#synthetic-thblock-tag

解决方案二(推荐):

使用 inline

<title>[[${msg}]] - 服务器错误。</title>

Hello, [[${user.name}]]!   //[[]]写法会html转义
Hello, [(${user.name})]!   //[()]写法不会html转义

参考:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#inlining

解决方案三:

使用 th:remove

<span th:text="${msg}" th:remove="tag"></span>

原文:weiku.co/article/156/

要在Thymeleaf实现字符串模糊匹配,可以使用标签函数。标签函数是自定义的函数,可以在Thymeleaf模板使用。 下面是一个示例标签函数,它接受两个参数:一个字符串和一个模糊匹配的字符串。标签函数使用Java的正则表达式实现模糊匹配,并返回匹配结果。 ```java package com.example.myapp.thymeleaf.functions; import org.thymeleaf.context.ITemplateContext; import org.thymeleaf.model.IProcessableElementTag; import org.thymeleaf.processor.element.IElementTagProcessor; import org.thymeleaf.processor.element.IElementTagStructureHandler; import java.util.regex.Pattern; public class StringMatchTagProcessor implements IElementTagProcessor { private static final String TAG_NAME = "stringmatch"; private static final int PRECEDENCE = 10000; public StringMatchTagProcessor(String dialectPrefix) { super(); } @Override public void process(ITemplateContext context, IProcessableElementTag tag, IElementTagStructureHandler structureHandler) { String value = tag.getAttributeValue("value"); String pattern = tag.getAttributeValue("pattern"); boolean result = Pattern.matches(pattern, value); structureHandler.replaceWith(result); } @Override public String getTagName() { return TAG_NAME; } @Override public int getPrecedence() { return PRECEDENCE; } } ``` 在Thymeleaf模板使用标签函数: ```html <div th:if="${#stringmatch(value, '.*pattern.*')}"> <!-- do something --> </div> ``` 这个标签函数将匹配字符串 `value` 是否包含模糊匹配的字符串 `pattern` ,如果匹配成功,则显示 `<div>` 元素。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值