Java枚举在Struts2中的应用


平常很少用java的枚举,也时常在想怎么来用它,最近结合struts2在jsp中来使用一下枚举

首先定义一个Rose类,很多时候为了方便,经常在页面写几个角色的选项(项目比较小),这样带来的的问题是显而易见的, 这里如果用枚举的话就方便了,当然放到数据库中也是可以的,不过个人觉得如果种类不多话,建议用枚举。

1.首先建立枚举类

  1. public enum Rose {   
  2.        
  3.     SUPERADMIN(1,"超级管理员"),ADMIN(2,"管理员"),GUEST(3,"游客");   
  4.     private Integer code;   
  5.     private String roseName;   
  6.        
  7.     public Integer getCode() {   
  8.         return code;   
  9.     }   
  10.   
  11.     public String getRoseName() {   
  12.         return roseName;   
  13.     }   
  14.   
  15.     private Rose(Integer code,String roseName){   
  16.            
  17.         this.code = code;   
  18.         this.roseName = roseName;   
  19.            
  20.     }   
  21. }  

2.将Rose放到action的request中

  1. request.setAttribute("rose", Rose.values());  

3.在页面上使用循环取出结果

  1. <s:iterator id="r" value="#request.rose">   
  2.         <s:property value="#r.code"/>:   
  3.         <s:property value="#r.roseName"/>                            
  4.                                        
  5. </s:iterator>  

如图:



4.在页面上使用checkbox取出枚举值

  1. <s:checkboxlist  name="con" list="#request.rose" listKey="code" listValue="roseName"> </s:checkboxlist>  

如图:



当然还有其它的用法就不在列出来了。

相关内容