0

我正在尝试填充 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();
}

}

问候

4

1 回答 1

0

由于您没有显示堆栈跟踪或至少 NPE 发生的行,我只能猜测,但有一件事似乎很可疑。

您应该以这种方式在 SelectOneMenu 中使用不可选择的选项:

<f:selectItem noSelectionOption="true" itemLabel="Domaine"/>

如果省略noSelectionOption="true",则可能发生 NPE,因为 jsf 将其视为可选选项。

于 2011-06-12T19:56:26.013 回答