spring mvc freemarker 中遍历枚举


1枚举类型有一个本地方法叫values(),这个方法可以直接返回枚举数组。所以可以利用这个遍历。
Java代码 复制代码  收藏代码
  1. enum  
  2.   
  3. public enum BooleanEnum {    
  4.     TRUE(Boolean.TRUE, "是"), FALSE(Boolean.FALSE, "否");    
  5.     
  6.     private final Boolean value;    
  7.     private final String info;    
  8.     
  9.     private BooleanEnum(Boolean value, String info) {    
  10.         this.value = value;    
  11.         this.info = info;    
  12.     }    
  13.     
  14.     public String getInfo() {    
  15.         return info;    
  16.     }    
  17.     
  18.     public Boolean getValue() {    
  19.         return value;    
  20.     }    
  21. }    
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代码
  1. model.addAttribute("enum",BooleanEnum .values());  
model.addAttribute("enum",BooleanEnum .values());


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

Java代码
  1. <#list enum as val>  
  2.      <li value="${val}">${val.getValue()}</li>  
  3. </#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>
也可以取出数据。但不够灵巧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值