枚举为Primefaces中的下拉列表

枚举为Primefaces中的下拉列表,primefaces,Primefaces,我也在尝试同样的方法来获取城市代码,这些代码是在enum“CityCodes.java”中定义的,这是我的enum类,我的定义如下: public enum Cities { AL("Alabama","1"), AK("Alaska","2"), ....... WY("Wyoming","51"); --------------------------------------------------- ******** My managed bean def

我也在尝试同样的方法来获取城市代码,这些代码是在enum“CityCodes.java”中定义的,这是我的enum类,我的定义如下:

public enum Cities {

AL("Alabama","1"),
AK("Alaska","2"),
        .......
WY("Wyoming","51");

  ---------------------------------------------------   
  ******** My managed bean definition*************
  ---------------------------------------------------

public class CityCodes {                                    
     public Cities[] getCityCodes(){
     return Cities.values();
}   
我在config.faces.xml中定义了相同的

<managed-bean>
<managed-bean-name>cityCodes</managed-bean-name>
<managed-bean-class>com.web.form.CityCodes</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

城市代码
com.web.form.citycode
一场
在我的UI中调用相同的代码时,我的代码如下

<h:outputText value="#{msg.stateName}" />
<p:selectOneMenu value="#{addressForm.stateCode}">
  <f:selectItems itemLabel="#{cityCodes.getCityCodes}" />
</p:selectOneMenu>


当我运行构建并部署应用程序时……我没有收到任何错误,也没有用状态代码填充下拉列表。

我使用jsf 2尝试了这一点

在xhtml中:

select state:
<p:selectOneMenu value="#{enumSelect.selectedCode}">
    <f:selectItem itemLabel="Select State" />
    <f:selectItems var="state" value="#{enumSelect.stateCodes}"
                    itemValue="#{state}" itemLabel="#{state.name()} - #{state.cityCode}" />
</p:selectOneMenu>
试试这个

在xhtml中:

<p:selectOneRadio id="myRadio" value="#{myBean.selectedState}">
   <f:selectItems value="#{myBean.statesToPick}"/>
</p:selectOneRadio>

非常感谢您的快速响应,这对我真的很有帮助……我尝试了这两种方法,它们都有效……:)
<p:selectOneRadio id="myRadio" value="#{myBean.selectedState}">
   <f:selectItems value="#{myBean.statesToPick}"/>
</p:selectOneRadio>
public stateToPick selectedState;

public enum stateToPick {
STATE_1 ("S1"), STATE_2 ("S2"), STATE_3 ("S3"), STATE_4 ("S4"), STATE_5 ("S5");
private String value;
private stateToPick (String value) { this.value = value;}
}
public stateToPick statesToPick[] = stateToPick.values();