我正在尝试在jsp中使用枚举元素方法。
这是我的枚举:
public enum someEnum {
INSTANCE {
public String someMethod() {
return "yay";
}
}
public abstract String someMethod();
}
在我的jsp中我想做:
${somethingContainingMyEnum.getSomeEnum().someMethod()}
然而,我得到了
类javax.el.BeanELResolver无法访问类的成员...使用修饰符“public”
我找到了一个只做间接的解决方法:
${somethingContainingMyEnum.doSomething()}
和
public String doSomething {
return getSomeEnum().someMethod();
}
购买我想在没有间接的情况下这样做。任何提示?
答案 0 :(得分:0)
这是一个奇怪的枚举,它们通常看起来像这样:
public enum SomeEnum {
INSTANCE("yay");
private String myStr;
SomeEnum(String myStr){
this.myStr = myStr;
}
public String getMyStr(){
return this.myStr;
};
}
然后您将在JSP中引用
${myBean.EnumInstance.MyStr}
Java中没有匿名方法。你在想匿名内部课吗?这似乎让事情变得复杂。