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

标签 freemarker

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

最佳答案

像这样:

<#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的情况下完成,只是这样更容易重用它。

关于FreeMarker仅将Camel格式解析为Underline格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19422943/

相关文章:

freemarker - 无法在 Freemarker 中的键值对上列出哈希

java - Apache Camel 多播 FreeMarker

java - ftl 模板中的当前日期

java - 从外部类路径/jar 加载 Freemarker 模板

java - 如何使用java编辑、处理和保存FTL文件?

java - Freemarker 通过 Java 设置 checkTemplateLocation

java - Freemarker - 检查 boolean 值

date - 在 Freemarker 中将 ISO 日期时间字符串转换为标准日期格式

java - 在 java 中加载 freemarker 模板时出现 FileNotFoundException

FreeMarker 使用 javax.json.JsonObject 作为数据模型