Jsf 获取支持bean中p:dataTable的排序状态

Jsf 获取支持bean中p:dataTable的排序状态,jsf,primefaces,datatable,Jsf,Primefaces,Datatable,我需要从备份bean中获得datatable的排序数据列表 在执行排序操作后,我尝试获取如下列表 public class PmoRequestService{ List<RequestEntity> requestList; public void seeListAfterOrdering(){ FacesContext facesContext = FacesContext.getCurrentInstance(); DataT

我需要从备份bean中获得datatable的排序数据列表

在执行排序操作后,我尝试获取如下列表

public class PmoRequestService{

    List<RequestEntity> requestList;

    public void seeListAfterOrdering(){
        FacesContext facesContext = FacesContext.getCurrentInstance();
        DataTable dataTable = (DataTable) facesContext.getViewRoot().findComponent("entities");

        List<RequestEntity> newList = (List<RequestEntity>)dataTable.getValue();

    }

    //getters - setters
}
编辑:


我正在使用PF版本5

哪个PF版本?你到底什么时候执行那段代码?这对我来说适用于PF5,在调用应用程序阶段直接使用requestList属性,而无需对整个组件进行不必要的抓取。我将其添加到问题中,您忘记回答另一个问题。我需要在backing bean中获取datatable的排序数据列表,在用户执行排序操作后进行排序。好的,我只需要直接访问requestList就可以了。也许您在getter方法中做的比只返回requestList更多?
<p:dataTable id="entities" widgetVar="cellRequest" 
    var="entityVar"
    value="#{pmoRequestService.requestList}"
    rowKey="#{entityVar.cdProcess}"
    selection="#{pmoRequestService.selectedRequest}"
    draggableColumns="true" resizableColumns="true" paginator="true"
    editable="true" editMode="cell" rows="17"
    sortMode="multiple" selectionMode="single" >

... Some columns here

<!--this is unique identifier column for each row-->
<p:column headerText="Request Id" width="60"
        sortBy="#{entityVar.cdProcess}" filterBy="#{entityVar.cdProcess}"
        filterMatchMode="contains">
        <h:outputText value="#{entityVar.cdProcess}" />
</p:column> 

...Some columns here

</p:dataTable>