选择一个菜单不填充值

时间:2014-05-20 08:45:54

标签: jsf primefaces

我正在使用primefaces 4.0.7。我使用了selectonemenu,这个菜单显示了变量,但Bean中的值为null。我可以做任何配置吗?

以下是xhtml代码的一部分;

<h:outputText value="#{etiketler.kullaniciTipi} : " />
<p:selectOneMenu id="kullaniciTipi" style="width:200px" value="#{kullaniciIslemleriBean.userRole}" >
<f:selectItems  value="#{enumBean.kullaniciTipiValues}" var="kullaniciTipi" 
itemLabel="#{kullaniciTipi.name}" itemValue="#{kullaniciTipi}" />
</p:selectOneMenu>

这是kullaniciIslemleriBean代码的一部分;

private EnumBase.KullaniciTipi userRole;
 public void Kaydet() {
  if (userRole == null) {
   System.out.println("null value");
   return;
   }
...

}

public EnumBase.KullaniciTipi getUserRole() {
        return userRole;
    }

    public void setUserRole(EnumBase.KullaniciTipi userRole) {
        this.userRole = userRole;
    }

1 个答案:

答案 0 :(得分:0)

  

尝试将其存储为String,它将正常工作。如果你想存储它   作为Enum然后尝试转换器

<h:outputText value="#{etiketler.kullaniciTipi} : " />
<p:selectOneMenu id="kullaniciTipi" style="width:200px" value="#{kullaniciIslemleriBean.userRole}" >
<f:selectItems  value="#{enumBean.kullaniciTipiValues}" var="kullaniciTipi" 
itemLabel="#{kullaniciTipi.name}" itemValue="#{kullaniciTipi.name}" />
</p:selectOneMenu>

private String userRole;
 public void Kaydet() {
  if (userRole == null) {
   System.out.println("null value");
   return;
   }
...

}

public String getUserRole() {
        return userRole;
    }

    public void setUserRole(String userRole) {
        this.userRole = userRole;
    }