Java 如何从枚举中获取消息属性

Java 如何从枚举中获取消息属性,java,jsf,Java,Jsf,我列举了一个例子: public enum Gender { F("Female"), M("Male"), E("Either"); private final String description; Gender(final String description) { this.description = description; } public S

我列举了一个例子:

    public enum Gender {

       F("Female"),

       M("Male"),

       E("Either");

       private final String description;

       Gender(final String description) {
            this.description = description;
       }

       public String getDescription() {
            return description;
       }
    }
消息属性:

    StudyLevel.B=Begin (1-3 semesters)
    StudyLevel.M=Middle (4-6 semesters)
    StudyLevel.E=End (7 and more semesters)
豆子:

   private Gender[] genders = Gender.values();
   public Gender[] getGenders() {
      return genders;
   }

   public void setGenders(Gender[] genders) {
      this.genders = genders;
   }
和我的xhtml文件:

    <p:selectOneRadio id="gender" value="#{cc.attrs.offer.selectedGender}" required="true">
                    <f:selectItems value="#{offerBean.genders}" var="p" itemLabel="#{p.class.simpleName.concat('.').concat(p.name())}"/>
    </p:selectOneRadio>


selectItems的输出文本为StudyLevel.B、StudyLevel.M和StudyLevel.E,但不是开始(1-3个学期),依此类推。我怎样才能把它取回来?

这让它工作起来了!您可以将其添加为答案而不是注释。请改进代码缩进。您可以使用omnifaces o:importConstants而不是编写offerBean来访问枚举对象。我改进了缩进,我将在6小时后发布我的答案:)