SelectOneMenu:NullPointerException

问题描述

|| 我正在尝试填充primefaces的SelectOneMenu,但是应用程序遇到了NullPointerException,我不知道问题出在哪里。 这是我的SelectOneMenu代码
     <h:outputText value=\"Domaine : \" styleClass=\"champ\"/>
       <p:selectOneMenu value=\"#{projet.currentProjet.typeProjets}\" >  
           <f:selectItem itemLabel=\"Domaine\" itemValue=\"\" />  
           <f:selectItems value=\"#{projet.inittprojet()}\"  var=\"typeprojet\" itemValue=\"#{typeprojet}\" itemLabel=\"#{typeprojet.designation}\" />  
       </p:selectOneMenu> 
这是我的支持豆:
            @Component(\"projetsBean\")
@Scope(\"session\") <br>
public class ProjetsBean implements Serializable{ <br>
    private transient ProjetsService projetsService;


////////////////////////////////////////////////////////// setters & getters \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

public void setProjetsService(ProjetsService projetsService)
{
    this.projetsService=projetsService;
}
public ProjetsService getProjetsService()
{
    return projetsService;
}

////////////////////////////////////////////////////////// Méthodes  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
@postconstruct  
公开清单inittprojet()     {
   return projetsService.getAllProjets();
}
} 问候     

解决方法

        由于您没有显示堆栈跟踪或至少没有显示NPE所在的行,因此我只能猜测,但是似乎有一件事令人怀疑。 您应该通过以下方式在SelectOneMenu中使用不可选择的选项:
<f:selectItem noSelectionOption=\"true\" itemLabel=\"Domaine\"/>
如果省略“ 4”,则可能会发生NPE,因为jsf将其视为可选选项。