Spring MVC freemarker宏简化

时间:2015-04-03 15:13:29

标签: freemarker

我在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是字符串,valueModelMap中的动态变量。我想简化macor然后我可以这样使用:

    <@Hidden name="user_id"  />
    <@Hidden name="user_name"  />
    <@Hidden name="age"  />
    <@Hidden name="address" />

所以如何修改宏。

1 个答案:

答案 0 :(得分:1)

您可以这样做:

<#macro Hidden name>
    <input name="${name}" value="${.vars[name]}" type="hidden" />
</#macro>

但你也可以使用&lt; @ spring.bind /&gt;库来实现这一目标:https://svn.apache.org/repos/asf/qpid/tags/pre-M1/java/java/management/core/lib/spring/spring.ftl