11
Biorąc pod uwagę klasę zawierającą ENUM:Jak mogę odwołać się do typu zagnieżdżonego w Spel?
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;
}
}
}
jak mogę odwołać NestedEnum? To:
#{T(MyClass.NestedEnum).value1.getCode()}
skutkuje wyłączeniem:
org.springframework.expression.spel.SpelEvaluationException: EL1005E:(pos 0): Type cannot be found 'namespace.MyClass.NestedEnum'
to:
#{T(T(MyClass).NestedEnum).value1.getCode()}
Skutkuje wyjątkiem:
org.springframework.expression.spel.SpelParseException: EL1043E:(pos 3): Unexpected token. Expected 'rparen())' but was 'lparen(()'
Nie mogę myśleć o jakichkolwiek innych dobrych opcji próbować.
Byłoby lepiej, aby określić 'Type'->' NestedEnum' zmiany w swojej odpowiedzi, zamiast tego? Często błędny kod w pytaniach powinien być pozostawiony sam, tak aby poprawka w odpowiedzi mogła być bardziej oczywista. – sarnold
Byłoby to również rozwiązanie, ale zakładam, że pogorszyłoby to zrozumiałość odpowiedzi. Zakładam też, że był to błąd kopiuj i wklej pytającego. Mimo to, dziękuję za twoją podpowiedź. – micfra