FreeMarker仅将Camel格式解析为Underline格式

时间:2013-10-17 09:30:15

标签: freemarker

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

1 个答案:

答案 0 :(得分:1)

像这样:

<#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的情况下完成,以这种方式重用它会更容易。