给定一个包含枚举的类:
public class MyClass {
public enum NestedEnum {
value1(1),
value2(2);
private int code;
private NestedEnum(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
}
如何引用NestedEnum?这样:
#{T(MyClass.NestedEnum).value1.getCode()}
导致异常:
org.springframework.expression.spel.SpelEvaluationException: EL1005E:(pos 0): Type cannot be found 'namespace.MyClass.NestedEnum'
此:
#{T(T(MyClass).NestedEnum).value1.getCode()}
导致异常:
org.springframework.expression.spel.SpelParseException: EL1043E:(pos 3): Unexpected token. Expected 'rparen())' but was 'lparen(()'
我想不出任何其他好的选择。
答案 0 :(得分:21)
您必须使用$
符号分隔枚举:
#{T(MyClass$NestedEnum).value1.getCode()}