以下模板有什么问题?
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
请注意,我的示例是在提交内容之前。
答案 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>
因此,如果可以升级或重写列表,请进行升级。
另见: