我正在尝试填充一个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>
这是我的支持bean:
@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
public List inittprojet() {
return projetsService.getAllProjets();
}
}
问候
答案 0 :(得分:0)
由于您没有显示堆栈跟踪或至少显示NPE发生的行,我只能猜测,但有一点似乎是可疑的。
您应该以这种方式在SelectOneMenu中使用不可选择的选项:
<f:selectItem noSelectionOption="true" itemLabel="Domaine"/>
如果省略noSelectionOption="true"
,可能会发生NPE,因为jsf将其视为可选择的选项。