1.枚举类型定义:
2.s:select的支持
这里采用OGNL表达式调用静态方法的方式,每个枚举类型都有一个默认的静态方法values(),这个方法返回枚举类型的所有枚举值,然后我们在listKey属性用调用枚举值的name()方法,name()方法默认返回,枚举值的名称字符串(本示例,分别返回OPEN与CLOSE)。listValue属性直接用desc属性。
public enum StatusEnum {
OPEN("正常"),
CLOSE("关闭");
private String desc;
private LotStatusEnum(String desc) {
this.desc = desc;
}
public String getDesc() {
return desc;
}
}
2.s:select的支持
在JSP中s:select的示例:
<s:select list="@package.StatusEnum.@values()" listKey="name()" listValue="desc" />
这里采用OGNL表达式调用静态方法的方式,每个枚举类型都有一个默认的静态方法values(),这个方法返回枚举类型的所有枚举值,然后我们在listKey属性用调用枚举值的name()方法,name()方法默认返回,枚举值的名称字符串(本示例,分别返回OPEN与CLOSE)。listValue属性直接用desc属性。
3.s:property的支持
很简单:
<s:property value="status.desc" />
4.iBatis对枚举值的支持
若Entity的字段类型定义为某个枚举类型,则最好不要复写枚举类型toString()方法,因为iBatis在做insert或者update的时候,默认调用枚举类型的toString()方法来获得枚举值。