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;
- }
- }
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());
model.addAttribute("enum",BooleanEnum .values());
此时emum就存放了所定义枚举的数据页面可以直接遍历,注意的是通过${val.info}是获取不到值的。必须使用val.getInfo()
- <#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>
也可以取出数据。但不够灵巧