`

jsf中myfaces tomahawk的使用之分页

    博客分类:
  • JSF
阅读更多

首先是myfaces tomahawk在JSF中的部署。

1、环境平台:

     MyEclipse7.0

     jdk1.6.0_06
    apache-tomcat-6.0.x
    tomahawk-1.1.6.jar

这里不用myfaces-api-1.1.5.jar,myfaces-impl-1.1.5.jar这两个包!

2、web.xml配置:

<filter>
  <description>为正确使用tomahawk组件包而配置</description>
  <filter-name>extensionsFilter</filter-name>
  <filter-class>
   org.apache.myfaces.webapp.filter.ExtensionsFilter
  </filter-class>
  <init-param>
   <param-name>uploadMaxFileSize</param-name>
   <param-value>10m</param-value>
  </init-param>
  <init-param>
   <param-name>uploadThresholdSize</param-name>
   <param-value>100</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <url-pattern>*.faces</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>extensionsFilter</filter-name>
  <url-pattern>/faces/*</url-pattern>
</filter-mapping>

接着在 xhtml页面中引入命名空间:

<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:ui="
http://java.sun.com/jsf/facelets"
 xmlns:h="
http://java.sun.com/jsf/html"
 xmlns:f="
http://java.sun.com/jsf/core"
 xmlns:t="
http://myfaces.apache.org/tomahawk">

搭好平台,现在就是我们的tomahawk派上用武之地的时候了,呵呵……

tomahawk里实现分页的主要有<t:dataTable>和<t:dataScroller>,这里是两者结合使用。

       <h:panelGroup id="body">

<!-- dataTable是放输出数据的表格 -->
        <t:dataTable id="data"    
//表格的ID
                var="varname"      
//表格的变量名
                value="#{**}"      //与后台数据绑定
                preserveDataModel="false"  
//是否保存和恢复数据模型
                rows="rowsnumber"  
//每页要显示的数据行数
           >
           <h:column>
               <f:facet name="header">

                    //表头

               </f:facet>
                    //要输出的数据  

           </h:column>

           <h:column>
               <f:facet name="header">
                   //表头         

               </f:facet>
                  
//要输出的数据

           </h:column>

          …… //这里可以加你需要的列数以输出你想要的信息

        </t:dataTable>

        <h:panelGrid columns="1" >

<!-- dataScroller 是显示分页条,这里用了几张页面去向图片导航分页-->
            <t:dataScroller id="scroll"
                    for="data"      
//绑定数据表格,要与dataTable中的id对应
                    fastStep="10"   
 //快速前进或后退的页数
                    pageCountVar="pageCount"
                    pageIndexVar="pageIndex"
                    styleClass="scroller"
                    paginator="true"
                    paginatorMaxPages="9"  
//在分页导航条中可以显示的最大页数
                    paginatorTableClass="paginator"
                    paginatorActiveColumnStyle="font-weight:bold;"
                    immediate="true"

                   >
                <f:facet name="first" >
                    <t:graphicImage url="images/arrow-first.gif" border="1" />
                </f:facet>
                <f:facet name="last">
                    <t:graphicImage url="images/arrow-last.gif" border="1" />
                </f:facet>
                <f:facet name="previous">
                    <t:graphicImage url="images/arrow-previous.gif" border="1" />
                </f:facet>
                <f:facet name="next">
                    <t:graphicImage url="images/arrow-next.gif" border="1" />
                </f:facet>
                <f:facet name="fastforward">
                    <t:graphicImage url="images/arrow-ff.gif" border="1" />
                </f:facet>
                <f:facet name="fastrewind">
                    <t:graphicImage url="images/arrow-fr.gif" border="1" />
                </f:facet>
            </t:dataScroller>

       </h:panelGrid>

    </h:panelGroup>

       上面是比较简单的分页例子,如果你想实现其他的功能,可以在输出数据的dataTable中的<h:column>中放你要实现分页的数据即可,但要注意dataTable的id和dataScroller中的for对应,到了这里分页的效果就实现了!

       由于也刚接触这一块,在学习的时候网上的资料比较少,本人也在摸索之中,可能也有不足之处,还望指点!


分享到:
评论
1 楼 doc3000 2011-08-11  
我要效果图啊。。。

相关推荐

Global site tag (gtag.js) - Google Analytics