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

Eng*_*_DJ 1 java spring jsp freemarker spring-mvc

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

Cha*_*the 5

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

model.put("myEnum", MyEnum.values());
Run Code Online (Sandbox Code Playgroud)

在你的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/>
Run Code Online (Sandbox Code Playgroud)

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