Spring MVC freemarker宏简化
Spring MVC freemarker macro simplify
我在freemarker中写了一个宏:
<#macro Hidden name value >
<input name="${id}" value="${value}" type="hidden" />
</#macro>
然后我在我的网页中使用它:
<@Hidden name="user_id" value=user_id />
<@Hidden name="user_name" value=user_name />
<@Hidden name="age" value=age />
<@Hidden name="address" value=address />
name
总是等于 value
,尽管 name
是一个字符串,而 value
是 ModelMap
中的动态变量。我想简化 macor 然后我可以这样使用:
<@Hidden name="user_id" />
<@Hidden name="user_name" />
<@Hidden name="age" />
<@Hidden name="address" />
那么怎么修改宏呢
你可以这样做:
<#macro Hidden name>
<input name="${name}" value="${.vars[name]}" type="hidden" />
</#macro>
但您也可以使用 <@spring.bind /> 库来完成此操作:https://svn.apache.org/repos/asf/qpid/tags/pre-M1/java/java/management/core/lib/spring/spring.ftl
我在freemarker中写了一个宏:
<#macro Hidden name value >
<input name="${id}" value="${value}" type="hidden" />
</#macro>
然后我在我的网页中使用它:
<@Hidden name="user_id" value=user_id />
<@Hidden name="user_name" value=user_name />
<@Hidden name="age" value=age />
<@Hidden name="address" value=address />
name
总是等于 value
,尽管 name
是一个字符串,而 value
是 ModelMap
中的动态变量。我想简化 macor 然后我可以这样使用:
<@Hidden name="user_id" />
<@Hidden name="user_name" />
<@Hidden name="age" />
<@Hidden name="address" />
那么怎么修改宏呢
你可以这样做:
<#macro Hidden name>
<input name="${name}" value="${.vars[name]}" type="hidden" />
</#macro>
但您也可以使用 <@spring.bind /> 库来完成此操作:https://svn.apache.org/repos/asf/qpid/tags/pre-M1/java/java/management/core/lib/spring/spring.ftl