2016-06-20 14 views
0

ハッシュマップを反復処理するには、hash built-inを使用してマップの値とキーにアクセスします。 ハッシュを文字列に変換するFreemarker

<#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] 
---- 

にあるキーを(得るためにどのように任意のヒントを得る:今私は(文字列です)キーを大文字にすなわち、キーを操作したいです小文字)をテンプレートの大文字に変換しますか?またはハッシュを文字列に変換する方法は?

答えて

2

FreeMarkerでは、多くの基本クラス(String,NumberListなど)のJava APIが隠されています。 API-sの代わりに、この場合のようにいわゆる組み込み関数を使用することになっています(key?upper_case)。 (また:http://freemarker.org/docs/ref_builtins.html

関連する問題