我有一个带输入字段的表单(示例已简化):
<input type="text" value="${model.person.age}">
这是按预期工作的,现在我想为此编写一个宏:
<#macro input path inputType="text">
<input type="${inputType}" value="${model[path]}">
</#macro>
可与
一起使用 <@lib.input "person.age" />
我找到了$ {model [path]}解决方案here,但在我的情况下它不起作用。我正在使用Freemarker 2.3.21和Spring MVC 4.1.0。
答案 0 :(得分:0)
你不能像<@lib.input person.age>
一样传递价值吗?无论如何,如果你必须传递那个未评估的表达式,那么在宏中你可以使用value="${path?eval}"
。它当然不一定是“路径”,它可以是任何一种表达方式。 (model[path]
不起作用,因为[]
中的值意味着是一个变量名,它可以包含任何字符,而不是某种路径表达式。)