【问题标题】:Freemarker converting a hash to StringFreemarker 将哈希转换为字符串
【发布时间】:2016-10-21 06:33:42
【问题描述】:

要遍历哈希映射,可以使用hash built-in 访问映射的值和键。现在我想对键进行操作,即将键(是一个字符串)大写:

<#assign keys = formats?keys>
<#list keys as key>
  ${key.toUpperCase()} = ${formats[key].getFileName()}
</#list>

但我得到了错误

For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> key  [in template "src/main/resources/test.ftl" at line 41, column 69]

----
FTL stack trace ("~" means nesting-related):
- Failed at: ${key.toString().toUpperCase()}  [in template "src/main/resources/test.ftl" at line 41, column 67]
----

任何提示如何在模板中将键(小写)转换为大写?或者如何将哈希转换为字符串?

【问题讨论】:

    标签: java hash freemarker


    【解决方案1】:

    在 FreeMarker 中,许多基本类(如StringNumberList 等)的 Java API 是隐藏的。您应该使用所谓的“内置”而不是他们的 API,例如在这种情况下:key?upper_case。 (另见:http://freemarker.org/docs/ref_builtins.html

    【讨论】:

      猜你喜欢
      • 2015-03-20
      • 1970-01-01
      • 2019-08-26
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 2017-06-02
      相关资源
      最近更新 更多