是否可以使用Sping MVC JSP标记-Freemarker宏在Freemarker中输出单选按钮列表,基于绑定属性的Enum类型?我在JSP中使用<form:select>
标记收集this is possible,但可以使用单选按钮和Freemarker完成吗?
答案 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
的方法。你可以做任何你喜欢的事情来支持选项文本。您也可以添加到此宏,以支持“选定”选项等。