使用参数从宏访问模板模型
Access template model from a macro using parameter
我有一个带有输入字段的表单(示例已简化):
<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.
你不能像 <@lib.input person.age>
那样只传递值本身吗?无论如何,如果您绝对必须传递未计算的表达式,那么在宏中您可以使用 value="${path?eval}"
。当然,它不一定是 "path",它可以是任何一种表达式。 (model[path]
不起作用,因为 []
中的值是一个变量名,它可以包含任何字符,而不是某种路径表达式。)
我有一个带有输入字段的表单(示例已简化):
<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.
你不能像 <@lib.input person.age>
那样只传递值本身吗?无论如何,如果您绝对必须传递未计算的表达式,那么在宏中您可以使用 value="${path?eval}"
。当然,它不一定是 "path",它可以是任何一种表达式。 (model[path]
不起作用,因为 []
中的值是一个变量名,它可以包含任何字符,而不是某种路径表达式。)