您的位置:首页 > 编程语言 > Java开发

spring mvc freemarker 中遍历枚举

2016-01-19 17:45 579 查看
文章出处:/article/3892929.html

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

Java代码







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; } }
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中这样写

Java代码

model.addAttribute("enum",BooleanEnum .values());
model.addAttribute("enum",BooleanEnum .values());


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

Java代码

<#list enum as val> <li value="${val}">${val.getValue()}</li> </#list>
<#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>

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: