带有单选按钮的数据表始终为空指针

时间:2014-06-11 14:25:50

标签: jsf primefaces

我正在使用JSF和Primefaces,我正在使用带有单选单选按钮的数据表。

代码如下所示:

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

bean是视图编组的。我有我所有的吸气剂和二传手。

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

1 个答案:

答案 0 :(得分:0)

首先,确保您的<p:datatable>位于<h:form>

接下来,尝试在<p:datatable>

中添加以下内容
<p:ajax event="rowSelect" listener="#{BeforBean.onRowSelect}"/>

最后,在您的BeforBean上,创建以下方法:

public void onRowSelect(SelectEvent event){
  ...
  select = (Personne) event.getObject(); // your personne object is called select
  ...
}

现在,您可以选择自己的人物了!记得将你班级的第一个字母大写:Personne ... Bonne chance!

相关问题