无法在Freemarker

时间:2017-05-16 23:51:29

标签: freemarker

以下模板有什么问题?

package ${packageName}

public interface ${entityName} {

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

}

版本2.3.23:

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

  

列表哈希非常相似,但您需要提供两个变量   as之后的名字;一个用于散列键,另一个用于散列键   相关价值。假设产品是{&#34; apple&#34;:5,&#34; banana&#34;:10,   &#34; kiwi&#34;:15}:

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

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

请注意,我的示例是在提交内容之前。

1 个答案:

答案 0 :(得分: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>

因此,如果可以升级或重写列表,请进行升级。

另见: