<%@ page contentType="text/html; charset=gb2312"%> JSP及JSP页面的翻页
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
JSP及JSP页面的翻页
     发布者: 发布时间:2006-05-07
JSPCN主页 | 虚拟主机 | 技术文章 | 代码下载 | 技术论坛 | 我要留言 | 关于我们 | 友情链接 | 联系我们




做最专业的JSP中文网站 当前位置:首页--文章分类--JSP技术--数据库

文章搜索:
关键字 标题 内容


JSPCN文章目录分类
图片声音 [8] JSP实例 [22]
JSP配置 [54] 上传问题 [8]
时间相关 [3] 文件操作 [58]
STRUTS [61] 中文问题 [16]
数据库 [115] JAVAMAIL [36]
开发工具 [8] JSP基础 [127]
JSP其他 [40] 教程系列 [87]
JAVABEAN [5] JAVA线程 [38]
J2ME [65] SUN [89]
Java API [20] 考试相关 [38]
APPLET [57] JAVA类 [113]
Application [6] Swing [11]
J2EE [108] 异常处理 [11]
Servlet [33] JAVA基础 [169]
JAVA实例 [56] JAVA网络 [38]
EJB [145] 声音图片 [27]
XML [80] B/S开发 [12]
B/S其他 [4] 代码收集 [6]
原子代码 [3] Jbuilder [29]
RESIN [21] JBOSS [11]
weblogic [34] eclipse [12]
Tomcat [60] sql server [4]
MYSQL [19] ORACLE [46]
邮件服务 [4] WWW服务 [2]


热点文章链接
JSP数据库连接池的必要性 [5569]
Tomcat4的数据库连接池配置 [5392]
数据库连接池Java实现小结 [4699]
jsp连接数据库大全 [3460]
一种简单JDBC连接池的实现 [2464]
通过JDBC连接oracle数据库的十大技巧 [2252]
用连接池提高Servlet访问数据库的效率 [1689]
RESIN/TOMCAT和MYSQL的连接解决方法 [1298]
JSP数据库操作例程 [876]
JSP数据库连接大全 [611]
利用weblogic的POOL(连接池)连接数据库 [336]
通过JDBC连接oracle数据库的十大技巧 [279]
Jsp中调用Oracle存储过程的小例子 [199]
全面解析JDBC(一) [30]
JSP连接各类数据库大全SQLServer2000 JDBC驱动的完整安装及测试? [26]

相关文章链接

JSP及JSP页面的翻页
作者:未知 文章来源:www.jspcn.net
访问次数: 次 加入时间:2005-01-19

在以列表的形式显示数据时需要对页面进行翻页控制,基本在项目的各模块中都会用到。为了最大限度地实现翻页的可重用和易移植,利用组件的形式对翻页逻辑进行封装。
翻页控制器的分析

描述:

翻页控制器用来实现对WEB页面的翻页内容的显示和翻页的各种操作的控制。通过JSP调用,将分页内容显示到WEB页面。它支持多种方式和风格的显示。

翻页控制器的设计

下面分别创建翻页控制器的一个PageConfig类、一个Page类、一个PageView类。

? PageConfig.java




类 PageConfig
声明 public class
描述 这个类用来保存页面属性的值,如每页显示几行等。
超类
执行


属性描述


属性 属性描述 定义
[PageConfig]
|--PAGE_SIZE 页大小 public static final int
|--PAGE_SIZE_SMALL 小型页面的大小 public static final int
|--PAGE_SIZE_NORMAL 正常页面的大小 public static final int
|--PAGE_SIZE_BIG 大型页面的大小 public static final int
|--PAGE_SIZE_BIGGER 较大页面的大小 public static final int
|--PAGE_SIZE_BIGGEST 最大页面的大小 public static final int


? Page.java




类 Page
声明 public class
描述 这个类用来保存页面属性的值,如每页显示几行等。
超类
执行 java.lang.Serializable


属性描述


属性 名称 属性描述 数据类型
|--EMPTY_PAGE 空白页面 描述一个空白页面,即不含内容的页面。 Page对象
|--objects 结果集列表 结果集列表 java.util.List或java.util.Vector
|--start 开始记录号 开始记录号,从0开始 正整数和0
|--end 结束记录号 结束记录号 正整数和0
|--viewStart 显示在页面开始记录号 显示在页面开始记录号,从1开始 正整数
|--viewEnd 显示在页面结束记录号 显示在页面结束记录号 正整数
|--hasPrevious 是否有上一页的开关 是否有上一页的开关 布尔值
|--previousPageNumber 上一页的页码 上一页的页码 正整数和0
|--hasNext 是否有下一页的开关 是否有下一页的开关 布尔值
|--nextPageNumber 下一页的页码 下一页的页码 正整数和0
|--total 总行数 一共有多少行记录 正整数和0
|--totalPage 总页数 一共有多少页
|--currentPageNumber 当前页 描述当前是第几页 正整数和0
|--pageSize 页大小 描述每页有多少行 正整数和0


构造器


构造器 构造器描述 参数
[Page]
|--Page(List l, int s, boolean hasNext) 创建页面 l 结果集s 开始记录号,从0开始hasNext 是否有下一页的开关
|--Page(List l, int s, boolean hasNext, int total) 创建页面 l 结果集s 开始记录号,从0开始hasNext 是否有下一页的开关total 一共有多少行记录
|--Page(List l, int s, int size, boolean hasNext, int total) 创建页面 l 结果集s 开始记录号,从0开始size 每页有多少行hasNext 是否有下一页的开关total 一共有多少行记录
|-- Page(List l, int num, int size, int total) 创建页面 l 结果集num 当前是第几页size 每页有多少行total 一共有多少行记录
|-- Page(List l) 创建页面,不进行分页 l 结果集


方法


方法 方法描述 返回值
[Page]
|--autoCalculate () 自动计算,根据当前页、页大小、总行数计算出其它属性的值 private void
|--getList() 获得结果集 public List
|--getViewStart() 获得显示在页面的开始记录号,从1开始 public int
|--getViewEnd() 获得显示在页面的结束记录号 public int
|--hasNextPage() 是否有下一页 public boolean
|--hasPreviousPage () 是否有上一页 public boolean
|--getPreviousPageNumber () 获得上一页的页码 public int
|--getNextPageNumber () 获得下一页的页码 public int
|--getTotal () 获得结果集中记录总行数 public int
|--getTotalPage () 获得总页数 public int
|--getCurrentPageNumber () 获得当前页码 public int
|--getPageSize () 获得每页多少行记录 public int
|--getStartOfNextPage () 获得下一页在结果集中开始的记录号,从0开始 public int
|--getStartOfPreviousPage () 获得上一页在结果集中开始的记录号,从0开始 public int
|--getSize() 获得当前页包括的记录行数 public int
|--isEmpty() 判断当前页面是否是空白页面,如果当前页面是空白页面,返回true,否则,返回false public boolean


PageView.java




类 PageView
声明 public class
描述 通过JSP调用,将分页内容显示到WEB页面。不支持图片、按钮等,只支持文字。用法:在JSP页面按如下形式定义:<% PageView view = new PageView(request,out,page); %>按缺省形式显示<% view.setVisible(true); %>按指定形式显示<% view.setVisible(true,0,1); %>
超类
执行


属性描述


属性 名称 属性描述 数据类型
[PageView]
|--currentUrl 当前页面的URL 当前页面的URL 字符串
|--style 风格 风格 字符串
|--useSquareBrackets 是否加[]的开关 在"上一页"两边是否加上"["和"]" 布尔值
|--page WEB页面 WEB页面 Page对象


构造器


构造器 构造器描述 参数
[PageView]
|-- PageView (HttpServletRequest request,JspWriter out,Page page)) 创建一个分页内容 request 客户端请求out 页面输出对象page WEB页面


方法


方法 方法描述 返回值
[PageView]
|--setVisible(boolean visible) 按缺省形式显示分页内容,如果visible为true,则显示分页内容,否则,不显示分页内容 public void
|--setVisible(boolean visible,int style,int order) 按指定形式显示分页内容,如果visible为true,则显示分页内容,否则,不显示分页内容 public void
|--setVisible(boolean visible,boolean useSquareBrackets,int style,int order) 按指定形式显示分页内容,如果visible为true,则显示分页内容,否则,不显示分页内容 public void
|--viewPage(boolean useSquareBrackets,int style,int order) 按指定形式显示分页内容,order为0,表示完整形式,按如下顺序显示:共计:18 分页:2 当前页:1 每页:10 首页 前页 后页 尾页 转到□□□□order为1,表示简洁形式,按如下顺序显示:前页 后页 尾页 1/2order为2,表示完整形式2,按如下顺序显示:共计:18 每页:10 转到□□□□ 首页 前页 后页 尾页 1/2 public void


翻页控制器的编码

只需按翻页控制器的设计进行编码,这里不用再讲了。

翻页控制器组件的源代码

a)PageConfig.java

b)Page.java

c)PageView.java

源代码:立即下载

翻页控制器的调用

翻页控制器的调用实在太简单了,调用方法:

? 导入翻页控制器包

<%@ page import="java.util.List,com.cwap.oa.controller.web.page.Page,
com.cwap.oa.controller.web.page.PageView"%>



? 创建一个Page对象,Page.EMPTY_PAGE为空白页面

Page page = Page.EMPTY_PAGE;



? 创建一个PageView对象

<% PageView view = new PageView(request,out,page); %>



? 显示分页的内容:

按缺省形式显示

<% view.setVisible(true); %>



按指定形式显示

<% view.setVisible(true,0,1); %>



? 调用翻页控制器的例子

下面是在论坛板块中的一个JSP中调用的示例,用来显示所有的论坛板块列表,下面只列出部分代码:

<%@ page language="java"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.List,
com.cwap.oa.controller.web.page.PageView,com.cwap.oa.controller.web.page.Page"%>
<jsp:useBean id="forumBoardHelper" scope="page"
class="com.club8090.forum.forumboard.client.ForumBoardClientHelper"/>
<%
String tmp=request.getParameter("pageNumber");
int pageNumber = 0;
if(tmp==null || tmp.equals("")){
pageNumber = 1;
}else{
try {
pageNumber = Integer.parseInt(tmp);
}catch(java.lang.NullPointerException npe){
pageNumber = 1;
}catch(java.lang.NumberFormatException nfe){
pageNumber = 1;
}
}
Page page = Page.EMPTY_PAGE;//page初始化为Page.EMPTY_PAGE空白页面
page = forumBoardHelper.getAllForumBoards(pageNumber);
%>

<table>
<tr>
<td>NO.</td>
<td>名称</td>
<td>描述摘要</td>
</tr>
<%
List items = page.getList();
if( items.isEmpty() ) {
out.println("<tr colspan=3>没有记录存在</tr>");
}else{
int no;//页面中显示的行数
for (int i = 0; i < items.size(); i++) {
ForumBoardModel forumBoardModel = (ForumBoardModel)items.get(i);
no = page.getViewStart() + i;
%>
//显示记录列表
<tr>
<td><%= no %></td>
<td><%= forumBoardModel.getName() %></td>
<td><%= forumBoardModel.getSummary() %></td>
</tr>
<%
}
PageView view = new PageView(request,out,page);
view.setVisible(true,0,1);
}
%>
</table>


 



(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
一个用JSP实现的分页的类及调用方法
Win2000server环境下打造jsp网站
jsp中实现连接池
一种高效的javabea分页For SqlServer
如何在JSP中处理中文
设置JSP开发及运行环境
 
最近评论:
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(7076)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(1395)
        
冰封的往事!
wow power leveling,wow gold,wow power leveling,wow gold max(5325)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(7160)
        
飞舞的传奇!
传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(7470)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号