Struts中巧用java枚举类生成select标签的下拉列表

本文介绍如何利用Java枚举类实现下拉列表的值与标签对应,并通过实例展示了如何将枚举值映射到页面上的下拉列表中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  select下拉选项的value值我们通常会使用一些数字或者英文缩写便于存入数据库中,例如:

 

<option value="1">男</option>
<option value="0">女</option>
这样在数据库里存为1的记录代表是男,而0代表是女,在java类文件里,我们一般会定义为常量放在一个专门的类文件中:

 

    public static String            SEX_MAN                                    = "1";

    public static String            SEX_WOMAN                                = "0";
但这样我们更改这些常量只局限于java文件中,页面上得不到更新,所以我们可以采用java的枚举类来解决这个问题,在定义常量的java文件中可以写:

 

 public static enum SEX ...{
      男("男","1"),
      女("女","0");
      private final String value;
      private final String label;
      private SEX(String label,String value)...{
         this.value=value;
         this.label=label;
      }
      public String getValue()
      ...{
         return value;
      }
      public String getLabel()
      ...{
         return label;
      }
   }
在actionForm中定义一个Collection:

 

private Collection<LabelValueBean>    sexList = new ArrayList<LabelValueBean>();
然后在action或者业务类里写:

 

for (SEX s : CommonDefine.SEX.values())
...{
    list.add(new LabelValueBean(s.getLabel(), s.getValue()));
}
   form.setSexList(list);
在页面上写:

 

 <html:select name="userForm"  property="user.sex" >
     <html:optionsCollection name="userForm" property="sexList" />
 </html:select>
这样以后在扩展或者修改这个下拉列表的时候,我们只需要修改枚举类而不用动其他任何地方。这是一个最简单的例子,遇到一些复杂繁多的下拉列表,采用这种方法显得十分清爽而且便于维护:)


文章出处:http://www.diybl.com/course/3_program/java/javajs/200843/108162.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值