如何从类中获取静态枚举

时间:2012-05-25 12:49:16

标签: grails enums gsp

我有一个java-constraint-interface声明一些枚举。

public interface MyClass{static enum BOOP{a,b,c,d,e,f}};

如何动态地从“BOOP”-enum获得第6个enum-const的名称?

${org.java.some.MyClass."$enumName"[5]}

doenst work。

2 个答案:

答案 0 :(得分:1)

这应该有效:

public interface MyClass{static enum BOOP{a,b,c,d,e,f}};

${org.java.some.MyClass.BOOP.values()[5]}    // prints f

此外,由于数组是基于0的,并且枚举中没有7个元素,因此无法获取索引为6的元素。

答案 1 :(得分:1)

我自己得到了

<%=org.java.some.MyClass.class.getDeclaredClasses().find{it.simpleName=enumName}.values()[5]%>