我正在尝试填充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 公用列表inittprojet() {
return projetsService.getAllProjets();
}}
问候
发布于 2011-06-13 03:56:26
由于您没有显示堆栈跟踪,或者至少没有显示NPE发生的行,我只能猜测,但有一件事似乎很可疑。
在SelectOneMenu中,您应该这样使用不可选择的选项:
<f:selectItem noSelectionOption="true" itemLabel="Domaine"/>如果省略noSelectionOption="true",可能会发生NPE,因为jsf将其视为可选选项。
https://stackoverflow.com/questions/6321966
复制相似问题