【发布时间】:2011-12-28 23:23:37
【问题描述】:
我正在迭代一个从 0 到 26 的列表,并希望得到每个对应的字母。例如,0 会给我字母 'A' 等等。
我知道在 java 中我可以说: 字符 A = (字符)65; 这将从我的 65 整数中得到一个“A”。
但是我不知道如何在前端使用 freemarker 做到这一点?
【问题讨论】:
标签: freemarker
我正在迭代一个从 0 到 26 的列表,并希望得到每个对应的字母。例如,0 会给我字母 'A' 等等。
我知道在 java 中我可以说: 字符 A = (字符)65; 这将从我的 65 整数中得到一个“A”。
但是我不知道如何在前端使用 freemarker 做到这一点?
【问题讨论】:
标签: freemarker
更新:在 FreeMarker 2.3.22 中,您可以只使用 (i + 1)?upper_abc 表达式。 (如果 i 从 0 开始,则需要 + 1。)
不幸的是,FreeMarker 还没有这方面的运算符。尽管通过构建使用\x 转义然后?eval 它的字符串文字仍然可以纯粹在FreeMarker 中实现这一点,但这将非常丑陋且效率低下。因此,目前正确的解决方案是编写自己的TemplateMethodModelEx,并将其与<#assign numToChar = 'com.example.NumToCharMethod'?new()> 一起放入#import-et 实用程序库(如果有的话),或者将其作为共享变量添加到Configuration 中。
【讨论】: