日期:2014-05-17 浏览次数:21307 次
public enum Sex{
男,女
}
//如果这样request.setAttribute("sex",Sex.男); 传至页面 而sex也是Enum类型。
//所以直接用${request.sex}取到的是Sex的Class无法显示。
//如果这样
public enum Sex{
男,女;
public String getLabel(){
return super.toString();
}
}
//所以直接用${request.sex.label}应该是能得到Sex的String值的。
------解决方案--------------------
常量的话我习惯用static final来搞
------解决方案--------------------
1.枚举类是很常用的。比如要制作一个动态显示图标的类。图标类型可以用枚举。这样,传入的类型就可以是枚举类型,在编译器就自动检查传入的是否是符合标准的图表类型。而不用像以前那样传入一个字符串,要到运行期才能知道传入的字符串对不对。
2.枚举的EL操作和一般的常量几乎没什么区别
${枚举类.内容}
上面应该会显示出序号
如果要显示出有意义的字
枚举的定义要稍微的改变下
网上查了下,key:类型安全枚举
public class EnumProvinces {
private final String name;
private EnumProvinces(String name){this.name = name;}
public String toString() {return name;}
public static final EnumProvinces 黑龙江 = new EnumProvinces("黑龙江省");
public static final EnumProvinces 内蒙 = new EnumProvinces("内蒙古自治区");
public static final EnumProvinces 新疆 = new EnumProvinces("新疆维吾尔自治区");
........
}
------解决方案--------------------
枚举这东西1.5才出来的用途不算很广
用struts 的ValueStack 应该可以取出来的
明白你的意思是限定,如果用request 取出来可能就失去了限定的意义(因为request 里面什么都可以放)
所以个人觉得ValueStack 应该比较好,对EL了解不够深等待……
------解决方案--------------------