いくつかの列挙型を宣言する Java-constraint-interface があります。
public interface MyClass{static enum BOOP{a,b,c,d,e,f}};
「BOOP」列挙型から6番目の列挙型定数の名前を動的に取得するにはどうすればよいですか?
${org.java.some.MyClass."$enumName"[5]}
動作しません。
自分で手に入れました
<%=org.java.some.MyClass.class.getDeclaredClasses().find{it.simpleName=enumName}.values()[5]%>
これはうまくいくはずです:
public interface MyClass{static enum BOOP{a,b,c,d,e,f}};
${org.java.some.MyClass.BOOP.values()[5]} // prints f
さらに、配列が 0 ベースであり、列挙型に 7 つの要素がないため、インデックス 6 の要素を取得できません。