15

列挙型を含むクラスが与えられた場合:

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(()'

他に試してみるべき良いオプションは思いつきません。

4

1 に答える 1

23

$記号を使用して列挙型を区切る必要があります。

#{T(MyClass$NestedEnum).value1.getCode()}
于 2012-03-29T17:38:24.940 に答える