如何从primefaces中的datatable var对象获取列列表?

时间:2015-08-25 12:29:27

标签: jsf-2 primefaces datatable

我有这样的数据表:

<p:dataTable id="datatableid" value="#{manageBean.employeeList}" var="employeeObj" >
                        <p:column  style="width:10%;font-weight:bold">
                            <h:outputText value="#{employeeObj.firstName}-#{employeeObj.orgEmployeeId}"/>
                        </p:column>

                        <p:columns value="#{manageBean.fetchDataList(employeeObj)}"  var="dataObj">
                            <h:outputText value="#{dataObj.status}"/>
                        </p:columns>

                    </p:dataTable>

我的豆是:

public List<Attendance> fetchDataList(Employee empObj)
        {
            System.out.println("**** Inside fectch attendance data **** "+empObj.getName());
            List<Attendance> attendanceList = new ArrayList<Attendance>();
            return attendanceList;
        }

在运行时,在syso中我得到空指针异常,因为empObj给出了null。

如何获得empObj对象的确切值?

将数据表变量(var)作为参数传递给fetchDataList方法的正确方法是什么?我将其用作列中的值?

1 个答案:

答案 0 :(得分:0)

感谢评论家伙。我自己解决了这个问题。

我为columns标签创建了一个新列表,并在Employee pojo中创建了MAP并使用该MAP,传递了密钥并获得了值。

<p:dataTable id="datatableid" value="#{manageBean.employeeList}" var="employeeObj" >
                        <p:column  style="width:10%;font-weight:bold">
                            <h:outputText value="#{employeeObj.firstName}-#{employeeObj.orgEmployeeId}"/>
                        </p:column>

                        <p:columns value="#{manageBean.newList}"  var="dataObj">
                            <h:outputText value="#{employeeObj.getMap().get(dataObj.status)}"/>
                        </p:columns>

                    </p:dataTable>