Myfaces组件分页的简单使用
                                      
Myfaces组件提供t:dataScroller标签实现分页,很傻瓜化。
       JSF页面:
       <t:dataTable id=”userListTable” rows=”10”>
       …………
       </t:dataTable>
                       <t:dataScroller id="userListscroll"
                                for="userTable"
                                fastStep="10" 
                                rowsCountVar="rowsCount" 
                                displayedRowsCountVar="displayedRowsCountVar" 
                                firstRowIndexVar="firstRowIndex" 
                                lastRowIndexVar="lastRowIndex"
                                pageCountVar="pageCount"
                                pageIndexVar="pageIndex"
                                styleClass="scroller"
                                paginator="true"
                                paginatorMaxPages="9"
                                paginatorTableClass="paginator"
                                paginatorActiveColumnStyle="font-weight:bold;" 
                                immediate="false">
                    <f:facet name="first" >
                        <h:outputText value="first"/>
                    </f:facet>
                    <f:facet name="last">
                        <h:outputText value="last"/>
                    </f:facet>
                    <f:facet name="previous">
                        <h:outputText value="previous"/>
                    </f:facet>
                    <f:facet name="next">
                        <h:outputText value="next"/>
                    </f:facet>
                    <f:facet name="fastforward">
                        <h:outputText value="fastforward"/>
                    </f:facet>
                    <f:facet name="fastrewind">
                        <h:outputText value="fastrewind"/>
                    </f:facet>
                    <h:outputFormat value="总记录数:{0}条——这页显示了{1}条记录——这页显示第{2}到第{3}条记录——页数:{4}/{5}">
                            <f:param value="#{rowsCount}" />
                            <f:param value="#{displayedRowsCountVar}" />
                            <f:param value="#{firstRowIndex}" />
                            <f:param value="#{lastRowIndex}" />
                            <f:param value="#{pageIndex}" />
                            <f:param value="#{pageCount}" />
                    </h:outputFormat>
                </t:dataScroller>
       要给dataTable设置id,rows(每页要显示的行数)
       我们配置t:dataScroller的一些属性:
for          必须指定,值对应要实现分页的dataTable的id值。
fastStep          表示fastforward,fastrewind快进的页数。
paginator        是否显示页数变化轨迹,即是否显示1,2,3,4……
paginatorMaxPages        指定页数变化轨迹中的数量
       而dataScroller还有6个属性用于显示一些常用的值:
{0} rowsCountVar="rowsCount"        //总记录数{0}条
{1} displayedRowsCountVar="displayedRowsCountVar"    //这页显示了{1}条记录
       {2} firstRowIndexVar="firstRowIndex"     //这页显示第{2}到第{3}条记录
       {3} lastRowIndexVar="lastRowIndex"        //这页显示第{2}到第{3}条记录
       {4} pageCountVar="pageCount"          //当前所在的页数为{4}
{5} pageIndexVar="pageIndex"           //总页数为{5}
要注意第二个属性displayedRowsCountVar,它表示这页显示了多少条记录,跟dataTable里面的rows属性不同,rows表示每页固定显示多少条记录。
对于一般少数量数据来讲,这样实现分页就可以了,而对于海量的数据而言,需要实现数据库分页。