问题描述
||
我正在尝试填充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将其视为可选选项。