概述
一般情况下只能够从Controller传一个数组或者List的变量到HTML来遍历,但是也有场景是需要直接在HTML上定义变量,但发现Thymeleaf这么简单的方法都没有,找了内置的arrays
、lists
都没有办法定义数组,最后找到了strings
有一个方法strings.arraySplit
,可以用一个字符串截取逗号,
来解决静态数组的定义。
例子
直接遍历渲染
<li th:each="fruit : ${#strings.arraySplit('苹果,西瓜,榴莲',',')}"
th:text="${fruit}">
</li>
定义变量并渲染
<div th:with="fruits=${#strings.arraySplit('苹果,西瓜,榴莲,凤梨',',')}">
<li th:each="fruit : ${fruits}" th:text="${fruit}"></li>
</div>
另外一种方法
截取字符串的方法好像有点不太好看,也有另外一种方法,可以重写Thymeleaf的 org.thymeleaf.expression.Arrays
类,增加一个“脱裤子放屁”的方法。
public Object[] asList(Object[] objects) {
return objects;
}
HTML上使用
<ul>
<li th:each="fruit : ${#arrays.asList('苹果,西瓜,榴莲')}" th:text="${fruit}"></li>
</ul>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。