springmvc 下 freemarker页面枚举的遍历输出

spring mvc freemarker 中遍历枚举

1枚举类型有一个本地方法叫values(),这个方法可以直接返回枚举数组。所以可以利用这个遍历。
enum

public enum BooleanEnum {  
    TRUE(Boolean.TRUE, "是"), FALSE(Boolean.FALSE, "否");  
  
    private final Boolean value;  
    private final String info;  
  
    private BooleanEnum(Boolean value, String info) {  
        this.value = value;  
        this.info = info;  
    }  
  
    public String getInfo() {  
        return info;  
    }  
  
    public Boolean getValue() {  
        return value;  
    }  
}  



springmvc中这样写
model.addAttribute("enum",BooleanEnum .values());


此时emum就存放了所定义枚举的数据页面可以直接遍历,注意的是通过${val.info}是获取不到值的。必须使用val.getInfo()

<#list enum as val>
     <li value="${val}">${val.getValue()}</li>
</#list>




另外后台使用model.addAttribute("enums", BeansWrapper.getDefaultInstance().getEnumModels());
页面用
   < #list enums["com.*****.BooleanEnum "]?values as priority>
          <select name="subjectId">
               <option value="${subproject.id?c}"
                 
       >${subproject.nickname}</option>
    </#list>
也可以取出数据。但不够灵巧

你可能感兴趣的:(enum,freemarker)