七 Thymeleaf语法详解-字符串操作

变量输出与字符串操作

1 th:text

在页面中输出值,如:

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

2 th:value

可以将一个值放入到input标签的value中,如:

<input type="text" name="username" th:value="${msg}" />

3 ${#strings.isEmpty(key)}

判断字符串是否为空,如果为空返回true,否则返回false,如:

<span th:text="${#strings.isEmpty(msg)}"></span>

Thymeleaf内置对象注意语法:

1、调用内置对象一定要用#;

2、大部分内置对象都以s结尾,如strings、numbers、dates等

4 ${#strings.contains(key, str1)}

判断字符串是否包含指定的字符str1,如果包含返回true,否则返回false,如:

<span th:text="${#strings.contains(msg,'T')}"></span>

5 ${#strings.startsWith(key,str1)}

判断当前字符是否以子串str1开头,如果是返回true,否则返回false,如:

<span th:text="${#strings.startsWith(msg,'T')}"></span>

6 ${#strings.endsWith(key,str1)}

判断当前字符是否以子串str1结尾,如果是返回true,否则返回false,如:

<span th:text="${#strings.endsWith(msg,'例')}"></span>

7 ${#strings.length(key)}

返回字符串的长度,如:

<span th:text="${#strings.length(msg)}"></span>

8 ${#strings.indexOf(key,str1)}

返回子串str1的位置,并返回该子串的下标,如果没找到会返回-1,如:

<span th:text="${#strings.indexOf(msg,'h')}"></span>

9 ${#strings.substring(msg,start,end)或${#strings.substring(msg,end)}

截取子串,用法与jdk类下subString方法相同,如:

<span th:text="${#strings.substring(msg,13)}"></span>
<hr/>
<span th:text="${#strings.substring(msg,13,14)}"></span>

10 ${#strings.toUpperCase(key)}或${#strings.toLowerCase(key)}

字符串大小写转换,如:

<span th:text="${#strings.toUpperCase(msg)}"></span>
<hr/>
<span th:text="${#strings.toLowerCase(msg)}"></span>

 

### Thymeleaf 中 `if` 和 `switch` 的条件判断语法Thymeleaf 模板引擎中,可以使用多种方式来实现类似于编程语言中的 `if-else if-else` 结构。主要的方式有两种:一种是通过属性级别的条件处理,另一种则是利用 `th:switch`。 #### 使用 `th:if`, `th:unless` 对于简单的条件逻辑,可以直接采用 `th:if` 或者其反向版本 `th:unless` 来控制元素是否渲染: ```html <div th:if="${user.isAdmin()}">Only admins can see this</div> <p th:unless="${isAuthenticated}">You are not logged in.</p> ``` 当需要更复杂的多分支选择时,则可以通过组合多个 `th:if` 实现类似 `if-else if-else` 的效果[^1]。 #### 利用 `th:switch` 进行多路分支选择 为了更加优雅地处理多条路径的选择问题,推荐使用 `th:switch` 属性配合 `th:case`。这种方式不仅使代码结构清晰易读,而且功能强大,支持字符串匹配以及表达式的求值操作: ```html <div th:switch="${user.role}"> <p th:case="'admin'">User is an administrator</p> <p th:case="'manager'">User is a manager</p> <!-- 默认情况 --> <p th:case="*">Unknown user role</p> </div> ``` 上述例子展示了如何根据不同角色显示不同的消息给用户[^3]。 需要注意的是,在实际开发过程中应当根据具体需求场景合理选用这两种方法之一;如果只是简单二元判断建议优先考虑 `th:if/unless`,而涉及到较多分支的情况则更适合运用 `th:switch/case` 构造[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值