📄 在jsf中实现分页(一).htm
字号:
<LI class=catListItem><A class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl06_Link
href="http://www.blogjava.net/steady/category/4436.html">Java Language</A><A
class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl06_RssLink
title="Subscribe to Java Language"
href="http://www.blogjava.net/steady/category/4436.html/rss"><IMG
title="Subscribe to Java Language"
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="C:\Documents and Settings\DELL\桌面\jsf分页\在JSF中实现分页(一).files\xml(1).gif"></A>
<LI class=catListItem><A class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl07_Link
href="http://www.blogjava.net/steady/category/6389.html">JSF &
Myfaces(26)</A><A class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl07_RssLink
title="Subscribe to JSF & Myfaces(26)"
href="http://www.blogjava.net/steady/category/6389.html/rss"><IMG
title="Subscribe to JSF & Myfaces(26)"
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="C:\Documents and Settings\DELL\桌面\jsf分页\在JSF中实现分页(一).files\xml(1).gif"></A>
<LI class=catListItem><A class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl08_Link
href="http://www.blogjava.net/steady/category/7530.html">JSF Cookbook(1)</A><A
class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl08_RssLink
title="Subscribe to JSF Cookbook(1)"
href="http://www.blogjava.net/steady/category/7530.html/rss"><IMG
title="Subscribe to JSF Cookbook(1)"
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="C:\Documents and Settings\DELL\桌面\jsf分页\在JSF中实现分页(一).files\xml(1).gif"></A>
<LI class=catListItem><A class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl09_Link
href="http://www.blogjava.net/steady/category/7229.html">News(22)</A><A
class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl09_RssLink
title="Subscribe to News(22)"
href="http://www.blogjava.net/steady/category/7229.html/rss"><IMG
title="Subscribe to News(22)"
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="C:\Documents and Settings\DELL\桌面\jsf分页\在JSF中实现分页(一).files\xml(1).gif"></A>
<LI class=catListItem><A class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl10_Link
href="http://www.blogjava.net/steady/category/4432.html">技术随笔(21)</A><A
class=listitem
id=SingleColumn1_Categories_CatList_ctl00_LinkList_ctl10_RssLink
title="Subscribe to 技术随笔(21)"
href="http://www.blogjava.net/steady/category/4432.html/rss"><IMG
title="Subscribe to 技术随笔(21)"
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="C:\Documents and Settings\DELL\桌面\jsf分页\在JSF中实现分页(一).files\xml(1).gif"></A>
</LI></UL>
<SCRIPT language=JavaScript>
function SearchGoogle(key,evt,site)
{
if(evt.keyCode==13 || evt.keyCode==0 || evt.type =='click')
{
key.focus();
var keystr = encodeURIComponent(key.value);
url = "http://www.google.com/search?q=";
url = url+keystr;
url += "&ie=UTF-8&oe=GB2312&hl=zh-CN&domains="+site+"&sitesearch="+site;
window.location=url;
return false;
}
}
</SCRIPT>
<H3>搜索</H3>
<UL>
<LI>
<LI><INPUT id=q
onkeydown="return SearchGoogle(document.getElementById('q'),event,'www.blogjava.net/steady')"
style="WIDTH: 130px" name=q> <INPUT onclick="SearchGoogle(document.getElementById('q'),event,'www.blogjava.net/steady')" type=button value=搜索 name=sa>
</LI></UL>
<H3>积分与排名</H3>
<UL>
<LI>积分 - 89357
<LI>排名 - 24 </LI></UL>
<H3>最新评论 <A id=SingleColumn1__389dc7f_RSSHyperlink1
href="http://www.blogjava.net/steady/CommentsRSS.aspx"><IMG
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="在JSF中实现分页(一).files/xml.gif"></A></H3>
<DIV class=RecentComment>
<UL>
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__389dc7f_CommentList_ctl01_Hyperlink1
href="http://www.blogjava.net/steady/archive/2007/03/15/22068.html#104060">1. re:
JSF Tree2 实践[未登录]</A>
<LI style="WORD-BREAK: break-all">请问能不能给树的节点加上右键菜单?
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--K
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__389dc7f_CommentList_ctl02_Hyperlink1
href="http://www.blogjava.net/steady/archive/2007/03/14/86192.html#103787">2. re:
批评一下 dearbook</A>
<LI style="WORD-BREAK: break-all">评论内容较长,点击标题查看
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--馒头
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__389dc7f_CommentList_ctl03_Hyperlink1
href="http://www.blogjava.net/steady/archive/2007/03/03/57629.html#101610">3. re:
到底什么是Hibernate,什么是Spring</A>
<LI style="WORD-BREAK: break-all">评论内容较长,点击标题查看
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--旺柴
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__389dc7f_CommentList_ctl04_Hyperlink1
href="http://www.blogjava.net/steady/archive/2007/03/02/101346.html#101511">4. re:
Tomcat 6 released and stable</A>
<LI style="WORD-BREAK: break-all">不知道新版本的 performance 如何, 也不出个新版的 embed
version.
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--BeanSoft
<LI style="WORD-BREAK: break-all"><A
id=SingleColumn1__389dc7f_CommentList_ctl05_Hyperlink1
href="http://www.blogjava.net/steady/archive/2007/03/02/101346.html#101472">5. re:
Tomcat 6 released and stable</A>
<LI style="WORD-BREAK: break-all">That's great!
<LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--山风小子 </LI></UL></DIV>
<H3>阅读排行榜</H3>
<DIV class=RecentComment>
<UL style="WORD-BREAK: break-all">
<LI><A id=SingleColumn1__2b6b680_TopList_ctl01_Hyperlink1
href="http://www.blogjava.net/steady/archive/2006/01/11/27518.aspx">1. JSF的最佳拍档(5855)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl02_Hyperlink1
href="http://www.blogjava.net/steady/archive/2005/12/01/22068.aspx">2. JSF
Tree2 实践(3914)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl03_Hyperlink1
href="http://www.blogjava.net/steady/archive/2005/12/29/25935.aspx">3. 在JSF中实现分页(一)(3834)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl04_Hyperlink1
href="http://www.blogjava.net/steady/archive/2005/12/30/26013.aspx">4. 在JSF中实现分页(二)(3579)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl05_Hyperlink1
href="http://www.blogjava.net/steady/archive/2006/03/28/37859.aspx">5. 在JSF中实现分页(三)
(2777)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl06_Hyperlink1
href="http://www.blogjava.net/steady/archive/2006/08/08/62280.aspx">6. MyEclipse
5.0 released(2713)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl07_Hyperlink1
href="http://www.blogjava.net/steady/archive/2006/01/05/26647.aspx">7. 在JSF中使用Shale进行客户端验证(2251)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl08_Hyperlink1
href="http://www.blogjava.net/steady/archive/2006/12/06/85741.aspx">8. BEA
Workshop Studio 3.3 released(2090)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl09_Hyperlink1
href="http://www.blogjava.net/steady/archive/2006/02/17/31207.aspx">9. JSF
Cookbook (1)(1960)</A>
<LI><A id=SingleColumn1__2b6b680_TopList_ctl10_Hyperlink1
href="http://www.blogjava.net/steady/archive/2006/02/08/29885.aspx">10. JSF实践项目MyPSP(1934)</A>
</LI></UL></DIV></DIV></DIV>
<DIV id=centercontent><!--done-->
<DIV class=post>
<DIV class=postTitle><A class=postTitle2 id=viewpost1_TitleUrl
href="http://www.blogjava.net/steady/archive/2005/12/29/25935.html">在JSF中实现分页(一)</A>
</DIV>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; mso-pagination: widow-orphan"><SPAN lang=EN-US
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><SPAN
style="mso-tab-count: 1"> </SPAN></SPAN><SPAN
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">对于大多数<SPAN
lang=EN-US>Web</SPAN>应用,分页都是必不可少的功能,当然在<SPAN
lang=EN-US>JSF</SPAN>中也一样,我在这里用两篇文章介绍两种方法来展示一下,如何在<SPAN
lang=EN-US>JSF</SPAN>中实现分页。本文假定你已经对<SPAN
lang=EN-US>JSF</SPAN>有了一些简单的了解,懂得基本配置和使用,并建立起一个<SPAN
lang=EN-US>blank</SPAN>项目。</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN lang=EN-US
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><SPAN
style="mso-tab-count: 1"> </SPAN>Myfaces</SPAN><SPAN
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">是<SPAN
lang=EN-US>Apache</SPAN>基金会中的一个一级项目,除了实现<SPAN
lang=EN-US>JSF</SPAN>标准外,做了很多的扩展工作,在<SPAN lang=EN-US>Myfaces</SPAN>包中有一个扩展包<SPAN
lang=EN-US>Tomahawk</SPAN>,我们将主要使用其中的两个<SPAN
lang=EN-US>Component</SPAN>实现分页:一个是<SPAN
lang=EN-US><t:dataTable></SPAN>,另一个是<SPAN
lang=EN-US><t:dataScroller></SPAN>,在第一篇里面,我们简易的组合这两个<SPAN
lang=EN-US>Component</SPAN>来实现一种简单,但并不高效的分页。<SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN lang=EN-US
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><SPAN
style="mso-tab-count: 1"> </SPAN></SPAN><SPAN
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">下面的例子来自于<SPAN
lang=EN-US>Myfaces-Sample</SPAN>,我省去了其中和分页逻辑无关的内容,详细的例子可以下载<SPAN
lang=EN-US>Myfaces-Sample</SPAN>包或者访问<SPAN lang=EN-US><A
href="http://www.irian.at/myfaces/home.jsf"><SPAN
style="mso-bidi-font-size: 12.0pt">http://www.irian.at/myfaces/home.jsf</SPAN></A>
</SPAN>查看。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan"
align=left><SPAN lang=EN-US
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><SPAN
style="mso-tab-count: 1"> </SPAN></SPAN><SPAN
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">第一部分:<SPAN
lang=EN-US>dataTable<BR><BR></SPAN></SPAN></P>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG
src="在JSF中实现分页(一).files/None.gif" align=top><SPAN
style="COLOR: #0000ff"><</SPAN><SPAN
style="COLOR: #800000">t:dataTable </SPAN><SPAN
style="COLOR: #ff0000">id</SPAN><SPAN style="COLOR: #0000ff">="data"</SPAN><SPAN
style="COLOR: #ff0000"><BR><IMG src="在JSF中实现分页(一).files/None.gif"
align=top> var</SPAN><SPAN
style="COLOR: #0000ff">="car"</SPAN><SPAN style="COLOR: #ff0000"><BR><IMG
src="在JSF中实现分页(一).files/None.gif"
align=top> value</SPAN><SPAN
style="COLOR: #0000ff">="#{pagedSort.cars}"</SPAN><SPAN
style="COLOR: #ff0000"><BR><IMG src="在JSF中实现分页(一).files/None.gif"
align=top> rows</SPAN><SPAN
style="COLOR: #0000ff">="10"</SPAN><SPAN style="COLOR: #0000ff">></SPAN><SPAN
style="COLOR: #000000"><BR><IMG src="在JSF中实现分页(一).files/None.gif"
align=top> ……<BR><IMG src="在JSF中实现分页(一).files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff"></</SPAN><SPAN
style="COLOR: #800000">t:dataTable</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="在JSF中实现分页(一).files/None.gif" align=top></SPAN></DIV><BR>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"
align=left><SPAN
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">在这一部分中,<SPAN
lang=EN-US>dataTable</SPAN>绑定了一个<SPAN lang=EN-US>backing bean -
pagedSort</SPAN>中的<SPAN
lang=EN-US>cars</SPAN>属性,我们可以在这个属性中加入数据访问逻辑,从数据库或者其他来源取得用于显示的数据。比如我们可以通过<SPAN
lang=EN-US>Hibernate</SPAN>获取一个<SPAN lang=EN-US>List</SPAN>,其中包含有我们用于显示的<SPAN
lang=EN-US>POJOs</SPAN>。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"
align=left><SPAN
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">注意,<SPAN
lang=EN-US>dataTable</SPAN>中的<SPAN
lang=EN-US>rows</SPAN>属性指的是每页的行数,是必须指定的,否则是无法进行分页的,如果在项目中会使用固定行数的分页,建议把这个值写在<SPAN
lang=EN-US>BaseBackingBean</SPAN>中,并暴露一个<SPAN
lang=EN-US>property</SPAN>,供页面调用,所以每次在页面中就可以这么写<SPAN
lang=EN-US>#{backingBean.pageSize}</SPAN>。<BR><SPAN lang=EN-US><o:p><BR></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-char-indent-count: 2.0; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"
align=left><SPAN
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">第二部分:<SPAN
lang=EN-US>dataScroller<BR><BR></P>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG
src="在JSF中实现分页(一).files/None.gif" align=top><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -