由Spring MVC支持的Freemarker中基于枚举的单选按钮

时间:2013-04-03 15:47:53

标签: java spring jsp spring-mvc freemarker

是否可以使用Sping MVC JSP标记-Freemarker宏在Freemarker中输出单选按钮列表,基于绑定属性的Enum类型?我在JSP中使用<form:select>标记收集this is possible,但可以使用单选按钮和Freemarker完成吗?

1 个答案:

答案 0 :(得分:5)

你可以这样做。最简单的方法是将一个枚举值数组放入模型中:

model.put("myEnum", MyEnum.values());

在你的FTL中,你只是迭代那些:

<#-- handy macro for this -->
<#macro enumSelect selectName enumValues>
    <select name="${selectName}">
        <#list enumValues as enum>
        <option value="${enum}">${enum.description}</option>
        </#list>
    </select>
</#macro>

<#-- calling the macro -->
<@enumSelect "myEnumSelectName" myEnum/>

此代码假定MyEnum有一个名为getDescription的方法。你可以做任何你喜欢的事情来支持选项文本。您也可以添加到此宏,以支持“选定”选项等。