2017-05-16 11 views
1

次のテンプレートに問題がありますか?バージョン2.3.23に示しますFreemarkerのキーと値のペアにハッシュを表示できません

package ${packageName} 

public interface ${entityName} { 

<#list methods as methodName, map > 
public void ${methodName}(${map}) ; 
</#list> 

} 

:ハッシュリストのハッシュ構造のため

freemarker.core.ParseException: Syntax error in template "javaclass.ftl" in line 5, column 29: 
Encountered ",", but was expecting: 
    ">" 
    at freemarker.core.FMParser.generateParseException(FMParser.java:5251) 
    at freemarker.core.FMParser.jj_consume_token(FMParser.java:5122) 
    at freemarker.core.FMParser.List(FMParser.java:1431) 
    at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2827) 
    at freemarker.core.FMParser.MixedContent(FMParser.java:3081) 
    at freemarker.core.FMParser.OptionalBlock(FMParser.java:3253) 
    at freemarker.core.FMParser.Root(FMParser.java:3432) 
    at freemarker.template.Template.<init>(Template.java:208) 
    at freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:495) 

をドキュメントgives the following exampleは非常に似ていますが、次の2人の変数 名を提供する必要がありますの後に; 1つはハッシュキー用、もう1つは関連する値の 用です。私の例では、コンテンツを送信する前にある

<#list products as name, price> 
    <p>${name}: ${price} 
</#list> 

    <p>apple: 5 
    <p>banan: 10 
    <p>kiwi: 15 

注:製品を想定すると、{:5、 "バナナ":10、 "キウイ" 15 "アップル"}です。

答えて

1

これは、リストのキー値が2.3.25に追加されたためです。

http://freemarker.org/docs/ref_directive_list.html#ref.directive.list

...と(2.3.25以降)、ハッシュのキーと値のペアをリストする:

<#list hash as key, value> 
    Part repeated for each key-value pair 
</#list> 

をので、あなたがまたはあなたを書き換えることができる場合、アップグレードリスト。

も参照してください:

+0

はまだインキュベート2.3.25ですか?公開されたドキュメントですが、私はMaven上で非インキュベートバージョンを選択しました! https://mvnrepository.com/artifact/org.freemarker/freemarker –

+0

最新バージョンを選択できます。 「インキュベーション状況は、コードの完全性や安定性を必ずしも反映するものではありませんが、プロジェクトがまだASFによって完全に承認されていないことを示しています」 http://freemarker.org/ –

+0

清算をありがとう、これは私の混乱の源だった。 –

関連する問題