是否有一种方法从'a'循环到'z'使用thymleaf的每个块在类似的方式我们使用#numbers.sequence?
目前我在后台使用一个静态字符数组,并将其传递给前端。
您可以这样做:
<div th:with="letters='abcdefghijklmnopqrstuvwxyz'"
th:each="num : ${#numbers.sequence(0, 25)}">
<div th:text="${#strings.substring(letters, num, num+1)}"></div>
</div>
这仍然需要一个硬编码的字符串(如您所见),您可以像传递Java string(而不是字符数组)一样轻松地将其传递给Thymeleaf。但也许这比你现在的工作更容易让人接受。
我不知道Thymeleaf可以直接使用Java的(char)('A' + num)
技术的任何方式-否则这可能是你正在寻找的。我认为这是不可能的。除非有人证明这是可能的。
更新
为了证明自己有些错,我用了下面的方法:
<div th:each="num : ${#numbers.sequence(97, 122)}">
<div th:text="${#conversions.convert(num, 'java.lang.Character')}"></div>
</div>
通过将十进制ASCII值转换为Java字符来打印a
到z
。
然而
使用Thymeleaf标准方言(没有Spring)的解决方案是定义自定义转换服务。
这比您当前的方法需要更多的代码—因此,这可能不是您想要的。但我提到它只是以防万一。如何实现这一点更具体地取决于您如何将Thymeleaf集成到您的程序中。