【问题标题】:Primefaces <p:selectOneMenu> compoment null pointer exceptionPrimefaces <p:selectOneMenu> 组件空指针异常
【发布时间】:2013-10-07 09:49:57
【问题描述】:

感谢您的任何建议。

我正在尝试使用 primefaces 组件,当我选择元素并由于 contractid 继续获取空指针异常时,它不能为空,因为我已经启动了它。 这是代码。

<h:selectOneMenu id="ContractName" value="#{managedContract.c.contract_id}" style="width: 300px;" required="true" requiredMessage="Please Select Contract.">
    <f:selectItem itemValue="" itemLabel="-Select Contract-" noSelectionOption="true" itemDisabled="true"></f:selectItem>
    <f:selectItems value="#{managedContract.contracts}" var="contractvar" itemLabel="#{contractvar.contract_name}" itemValue="#{contractvar.contract_id}" />
</h:selectOneMenu>
public class ManagedContract{
   private int contractid;
   public managedContract(){
   this.contractid=0;


//getter

//setter

//....

}

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    &lt;f:selectItems&gt;移动var="contractvar" itemLabel="#{contractvar.contract_name}" itemValue="#{contractvar.contract_id}"

    <h:selectOneMenu id="ContractName" value="#{managedContract.c.contract_id}" style="width: 300px;" required="true" requiredMessage="Please Select Contract.">
                                    <f:selectItem itemValue="" itemLabel="-Select Contract-" noSelectionOption="true" itemDisabled="true"></f:selectItem>
                                    <f:selectItems value="#{managedContract.contracts}"  />
                                </h:selectOneMenu>
    

    在你的 bean 中你必须有 getContracts() 方法

    @ManagedBean
    @ViewScoped
    public class ManagedContract imlements java.io.Serializable{
       private int contractid;
       public managedContract(){
       this.contractid=0;
    }
    
    //getter
    
    //setter
    
    //....
    
    }
    

    【讨论】:

    • @user2834146 如果它工作正常,请接受我的答案或投票以引导其他人找到正确的答案
    • 这个解决方案依赖于托管 bean 的 f:selectItems 实现和 POJO 实现本身。 POJO 在调用toString() 方法时必须返回其id,OP 没有提及。否则,您需要直接使用转换器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多