Jsf 带有单选按钮的datatable始终为空指针

Jsf 带有单选按钮的datatable始终为空指针,jsf,primefaces,Jsf,Primefaces,我正在使用JSF和Primefaces,并且使用带有一个单选按钮的datatable 代码如下所示: <p:dataTable rendered="#{BeforBean.bol}" id="radioDT" var="per" value="#{BeforBean.per}" paginator="true" selection="#{BeforBean.select}" rowKey="#{per.nom}" > <f:fa

我正在使用JSF和Primefaces,并且使用带有一个单选按钮的datatable

代码如下所示:

     <p:dataTable rendered="#{BeforBean.bol}" id="radioDT" var="per" 
      value="#{BeforBean.per}" paginator="true"  selection="#{BeforBean.select}" rowKey="#{per.nom}" >
            <f:facet name="header">
                Résulat de votre Recherche
            </f:facet>
            <p:column selectionMode="single" style="width:2%;text-align:center"/>
            <p:column headerText="nom">
                  <h:outputText value="#{per.nom}" />
            </p:column>
            <p:column headerText="Prenom">
                   <h:outputText value="#{per.prenom}" />
            </p:column>
            <p:column headerText="CIN">
                   <h:outputText value="#{per.CIN}" />
            </p:column>
            <p:column headerText="Poste">
                    <h:outputText value="#{per.poste}" />
            </p:column>

        </p:dataTable>

里切赫酒店
还有我的豆子:

    private List<personne> per = new ArrayList<personne>();
    private personne select;
private List per=new ArrayList();
私人人员选择;
bean是可视范围的。我有我所有的能手和二传手


问题是,当我尝试访问使用变量
select
选择的
personne
时,我总是得到空指针。

首先,确保您的
位于

接下来,尝试在
中添加以下内容:

<p:ajax event="rowSelect" listener="#{BeforBean.onRowSelect}"/>

现在您可以选择您的personne对象了!记住大写你班的第一个字母:Personne。。。好机会

一个与答案完全不同的评论:您的personne类以小写字母开头违反了规则。即使您计划稍后修复此问题,最好从适当的约定开始。
public void onRowSelect(SelectEvent event){
  ...
  select = (Personne) event.getObject(); // your personne object is called select
  ...
}