在jsp中使用枚举实例内部类

时间:2015-03-18 17:02:16

标签: java jsp enums

我正在尝试在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();
}

购买我想在没有间接的情况下这样做。任何提示?

1 个答案:

答案 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中没有匿名方法。你在想匿名内部课吗?这似乎让事情变得复杂。