1

是否可以根据绑定属性的 Enum 类型,使用 Sping MVC JSP tag-Freemarker 宏在 Freemarker 中输出单选按钮列表?我认为这可以使用<form:select>JSP 中的标签来实现,但是可以使用单选按钮和 Freemarker 来完成吗?

4

1 回答 1

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. 您可以做任何您喜欢的事情来支持选项文本。您还可以添加到此宏,以便支持“选定”选项等。

于 2013-04-03T16:07:44.047 回答