Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何在延迟加载数据表中获取页码_Jsf_Primefaces - Fatal编程技术网

Jsf 如何在延迟加载数据表中获取页码

Jsf 如何在延迟加载数据表中获取页码,jsf,primefaces,Jsf,Primefaces,我有一个延迟加载的数据表,我想将页码或行数从XHTML传递到ManagedBean。我该怎么做?这是我正在使用的数据表: <p:dataTable var="studyPlanList" value="#{editBean.lazyModel}" paginator="true" rows="5" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {Curr

我有一个延迟加载的数据表,我想将页码或行数从XHTML传递到ManagedBean。我该怎么做?这是我正在使用的数据表:

<p:dataTable var="studyPlanList" value="#{editBean.lazyModel}"
        paginator="true" rows="5"
        paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
        rowsPerPageTemplate="5,10,15" selectionMode="single"
        selection="#{editBean.selectedStudyPlan}" id="studyPlanTable">
        <p:ajax event="rowSelect" listener="#{editBean.onRowSelect}"
            update=":studyPlanEditForm :relatedFileEditForm" />
        <p:column headerText="StudyPlan" sortBy="#{studyPlanList.name}"
            filterBy="#{studyPlanList.name}" width="100">
            <h:outputText value="#{studyPlanList.name}" />
        </p:column>
        <p:column headerText="StudyPlan Status" width="100">
            <h:graphicImage
                value="#{editBean.statusKeyMap.get(studyPlanList.status)}"
                style="float:center;height: 18px;width: 20px"
                title="#{editBean.statusTitleMap.get(studyPlanList.status)}" />
        </p:column>
        <p:column headerText="Messages" width="100">
            <ui:fragment rendered="#{studyPlanList.status eq 300}">
                <h:outputText style="font: italic;"
                    value="Please click Finish Editing to Finish SpokenTutorial" />
            </ui:fragment>
        </p:column>
    </p:dataTable>

如果您使用LazyLoading,那么在bean中您有一个LazyDataModel的实现,并且您正在重写方法
load(int first,int pageSize,String sortField,SortOrder SortOrder,Map filters)
。您应该从这个方法内部加载来自数据库的集合,这里有页面大小和要检索的第一条记录(页码应该是
first/pageSize