1

当我从后端收到一些数据时,例如数据字符串'AbcDef',freemarker 是否有一些内置函数可以将字符串解析为'ABC_DEF'?如何使用 freemarker 模板语言?

4

1 回答 1

2

像这样:

<#function camelToDashed(s)>
  <#return s
      <#-- "fooBar" to "foo_bar": -->
      ?replace('([a-z])([A-Z])', '$1_$2', 'r')
      <#-- "FOOBar" to "FOO_Bar": -->
      ?replace('([A-Z])([A-Z][a-z])', '$1_$2', 'r')
      <#-- All of those to "FOO_BAR": -->
      ?upper_case
  >
</#function>

${camelToDashed('AbcDef')}

当然它也可以不用#function,这样更容易重用它。

于 2013-10-17T18:05:55.283 回答