很久以前做的分页包,好不容易找到的,所以上传一下
显示后效果如下:
第 1 页/共 100页
首页 上一页 5 6 7 8 9 10 11 12 13 14
下一页 尾页 (数字部分显示10个)
包分为:
pagebean.xml 放在项目的WEB-INF/classes/下 (eclipse的src下)
<?xml version="1.0" encoding="UTF-8"?>
<pagebean-config>
<pagebean name="playlistpage" class="com.provideo.ibox.playlist.actions.PlayListAction"/> <pagebean name="playpage" class="com.provideo.ibox.playlist.actions.PlayAction"/>
<!-- 可多个 -->
</pagebean-config>
playlistpage 为 session中的一个pagebean的key
PageBean.java
PageBeanInterface.java (里面只有一个接口,就是getAllRow(),获取所有行)
pageFactory.java
ReadPageBeanXML.java (读pagebean.xml)
使用:
一.在pagebean.xml中为要分页的页面分配一个key
二.DAO类实现PageBeanInterface接口,并写一个分页方法
public List listPlaylistPage(int page,int row){
String sql = "select ID, Name from `.`Play_List` limit ?,?";
List list = new ArrayList();
Connection con = null;
try {
con = new DBConnSourceByStruts().getConnection();
} catch (SQLException e1) {
e1.printStackTrace();
}
try{
ps = con.prepareStatement(sql);
ps.setInt(1, (page - 1 ) * row);
ps.setInt(2, row);
ResultSet rs = ps.executeQuery();
while(rs.next()){
PLBean bean = new PLBean();
bean.setId(rs.getInt(1));
bean.setName(MyString.isotoGbk(rs.getString(2)));
bean.setOwner(rs.getString(3));
bean.setDesc(MyString.isotoGbk(rs.getString(4)));
bean.setDuration(rs.getString(5));
bean.setElapsedtime(rs.getString(6));
bean.setFilesize(rs.getString(7));
bean.setAddtime(rs.getString(8));
bean.setModifydate(rs.getString(9));
list.add(bean);
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
三.action 中调用pagebean
Integer typeid = -1;
if(request.getParameter("typeid") != null){
typeid = Integer.parseInt(request.getParameter("typeid"));
}
Integer pageCount = 20;
if(request.getParameter("pageCount") != null){
pageCount = Integer.parseInt(request.getParameter("pageCount"));
}
PageBean page = pageFactory.createPageBean(getAllRow(typeid),"propPage",pageCount, request, response);
List pl_list = dao.listPlaylistPage(page.getPage(), page.getRow());
request.getSession().setAttribute("pageCount", pageCount);
request.setAttribute("playlistlist", pl_list);
四.页面上使用
<table class="font3">
<c:choose>
<c:when test="${sessionScope.propPage.noResultShow=='' }">
<tr bgcolor="#ffffff">
<td align="left">
第 ${sessionScope.propPage.page } 页 / 共
${sessionScope.propPage.allPage } 页
<a href="${pageContext.request.contextPath}/playlistaction.do?method=listPlaylistPage&page=1&typeid=-1">首页 </a>
<a href="${pageContext.request.contextPath}/playlistaction.do?method=listPlaylistPage&typeid=-1&page=${sessionScope.propPage.page-1}">上一页</a>
<c:if test="${not empty sessionScope.propPage.pageNums}">
<logic:iterate id="num" collection="${propPage.pageNums}">
<a href="${pageContext.request.contextPath}/playlistaction.do?method=listPlaylistPage&page=${num }"> ${num } </a>
</logic:iterate>
</c:if>
<a href="${pageContext.request.contextPath}/playlistaction.do?method=listPlaylistPage&typeid=-1&page=${sessionScope.propPage.page+1}">下一页</a>
<a href="${pageContext.request.contextPath}/playlistaction.do?method=listPlaylistPage&typeid=-1&page=${sessionScope.propPage.allPage}">尾页 </a>
</td>
</tr>
</c:when>
<c:otherwise>
<tr bgcolor="#ffffff">
<td align="center">
${sessionScope.propPage.noResultShow }
</td>
</tr>
</c:otherwise>
</c:choose>
</table>
结束
如果还有问题,也问题不大,自已调调就行了
看上去步骤比平时多了一两步,但在多处可共用这个pagebean,个人觉得还是不错的,有更好的请指点
分享到:
相关推荐
jsp做的一个通用的分页 有了它不要在做凡人的分页
jspPageControlor分页插件是千里web架构实验室成员--刘捷开发的插件,用来解决jsp程序设计中分页所带来的不便,让程序开发者轻松的实现分页功能。
很实用的JSP分页代码,只要在需要分页的页面包含这个JSP就可以了
jsp分页所需架包
JSP分页大全,包含所有的JSP分页的详细说明,涵盖了几乎你所涉及到的所有的分页文档。
文件里包含多种使用jsp进行分页的方法。
可以直接将JAR包导入后就可以使用的JSP分页标签, 对JSP+SERVLET非常适合,适用于WEB开发,如果有不会用的可以进行询问。
oracle&jsp简单实现分页,注意到Oracle包
java代码与oracle 函数包实现 jsp分页
通用的jsp分页组件,实例化后只需设置好各种属性,然后调用API即可得到已封装好“首页” “上一页”,“下一页”等分页操作的html表格String,直接在jsp页面中即可, 支持跳转到jsp和跳转到Action(struts架构)...
自己写的jsp分页标签jar包,包含tld配置文件,用的话导入就可以直接使用。
java web应用分页组件,可适用于jsp+servlet或s2sh,配置非常简单,引入二行代码即可,内置详细的操作配置文档和jar包及实例文件,未考虑性能优化,对性能要求很高的高手请自行测试或绕行
JSP自定义分页标签,mysql数据库,通过导入jar包,使用标签的方式实现分页的功能。
用jsp+servlet技术实现分页,包含jsp标签
本人亲自用jsp的方式开发的一个完整的增删改查的小系统,遵循MVC架构,并且实现了模糊查询和用displaytag进行了分页,对输入垃圾字符进行了过滤处理,包含完整的代码注释,并且自带了Mysql的数据库脚本,很适合新手...
本人用struts+hibernate写的分页,有详细的注解,方便新手学习,在jsp中实现首页下一页上一页末页功能.index.jsp控制showlist.jsp页面中每页显示的信息条数,本实例在xp+tomcat5.5验证通过.数据库使用的sql2000中的pubs...
Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码)
这是一套jsp customer tag,用于分页显示。使用者只需告诉他总共有多少页。本例中是19页。用户的程序只需得到参数_pagecount(request.getParameter(";_pagecount";))或在标签pages_roller中使用变量pageno...