SelectOneMenu:空指针异常

发布于 2024-11-15 05:06:12 字数 1369 浏览 2 评论 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> 

这是我的支持 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();
}

}

问候

i'm trying to populate a primefaces's SelectOneMenu but the application hits a NullPointerException, i don't know where is the problem.
here is my SelectOneMenu code:

     <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> 

here is my backing 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();
}

}

regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桃扇骨 2024-11-22 05:06:12

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

您应该这样在 SelectOneMenu 中使用不可选择的选项:

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

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

Since you didn't show the stacktrace or at least the line where the NPE happens, I can only guess, but one thing seems suspicious.

You should use a non-selectable option in SelectOneMenu this way:

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

If you omit the noSelectionOption="true", a NPE can occur because jsf treats it as selectable option.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文