Java 在jsp中使用枚举实例内部类
我试图在jsp中使用枚举元素方法 这是我的枚举:Java 在jsp中使用枚举实例内部类,java,jsp,enums,Java,Jsp,Enums,我试图在jsp中使用枚举元素方法 这是我的枚举: public enum someEnum { INSTANCE { public String someMethod() { return "yay"; } } public abstract String someMethod(); } 在我的jsp中,我想做: ${somethingContainingMyEnum.getSomeEnum().someMethod()} 然而,
public enum someEnum {
INSTANCE {
public String someMethod() {
return "yay";
}
}
public abstract String someMethod();
}
在我的jsp中,我想做:
${somethingContainingMyEnum.getSomeEnum().someMethod()}
然而,我明白了
类javax.el.BeanELResolver无法访问类的成员。。。带有修饰语“public”
我发现了一个解决方法,只需执行间接寻址:
${somethingContainingMyEnum.doSomething()}
及
买我想做没有间接的。有什么提示吗?这是一个奇怪的枚举,它们通常如下所示:
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中没有匿名方法。你在考虑匿名内部类吗?事情似乎太复杂了。我把事情简化了一点。我希望有不同的实例来计算不同的逻辑,这就是为什么我在instance@Guito改用抽象类或接口?我知道编译时将存在的实例的确切数量。我认为这里不适合上课。
${myBean.EnumInstance.MyStr}