FreeMarker使用后台枚举

//页面使用枚举全路径访问
model.addAttribute("enums", BeansWrapper.getDefaultInstance().getEnumModels());

//后台指定一个枚举
BeansWrapper wrapper = BeansWrapper.getDefaultInstance();
TemplateHashModel enumModels = wrapper.getEnumModels();
TemplateHashModel rankEnum = (TemplateHashModel) enumModels.get("jsdoctor.core.oa.enmu.SecretRankEnum");
model.addAttribute("rankEnum", rankEnum);
<select>
    <option value="">页面使用枚举全路径访问</option>
    <#list enums["xxx.xxx.enmu.SecretRankEnum"]?values as item>
        <option value="${item.key}">${item.value}</option>
    </#list>
</select>

<select>
    <option value="">后台指定一个枚举</option>
    <#list rankEnum?values as item>
    <option value="${item.key}">${item.value}</option>
</#list>
</select>

要注意 html 页面循环表达式中的 ?values,不要遗漏。

本文由个人 hexo 博客 co2fe.com 迁移
date: 2018-10-31 15:38:02

原文地址:https://www.cnblogs.com/manastudent/p/10191053.html