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

springmvcfreemarker中遍历枚举

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());

页面用

<#listenums["com.*****.BooleanEnum"]?valuesaspriority>

<selectname="subjectId">

<optionvalue="${subproject.id?c}"

>${subproject.nickname}</option>

</#list>

也可以取出数据。但不够灵巧

相关推荐