如何在 Freemarker 中反转字符串

How to reverse a string in Freemarker

如此简单的问题,我根本无法解决:如何使用 Freemarker 反转字符串?

我试过以下方法:

<#assign reversed = mystring?reverse() />

但是字符串没有reverse方法...我也试过:

<#assign reversed = mystring?split("")?reverse()?join("") />

但显然 split("") 不是有效的自由标记语法。有办法吗?

没有用于反转字符串的内置函数。出于好奇,用例是什么?

作为 split 的技巧,它是一个有效的语法,只是如错误消息所述,您不能使用空字符串进行拆分。但是,您可以使用空的正则表达式进行拆分:

<#assign reversed = myString?split("", "r")?reverse?join("")>

但这当然是 hack...通常,您应该通过 TemplateMethodModelEx 对象,或通过 Java beans,甚至静态实用程序公开您需要的额外功能 类.