分页封装实用工具类及其使用方法

作者: javaboy2012
Email:yanek@163.com
qq:    1046011462

package com.yanek.util;
import java.util.List;
public class PageBean {
/**
* @param args
*/
public static void main(String[] args) {
}
private int currentpage; // 当前页数
private int pagesize; // 每页大小
private int totalPagecount; // 总页数
private int totalRecordCount; // 总记录数
private List recordContents; // 当前页记录内容列表
public int getCurrentpage() {
return currentpage;
}
public int getPagesize() {
return pagesize;
}
public List getRecordContents() {
return recordContents;
}
public int getTotalPagecount() {
return totalPagecount;
}
public int getTotalRecordCount() {
return totalRecordCount;
}
public PageBean(int currentpage, int pagesize, int totalRecordCount, List recordContents) {
super();
this.currentpage = currentpage;
this.pagesize = pagesize;
this.totalRecordCount = totalRecordCount;
this.recordContents = recordContents;
if (totalRecordCount % pagesize == 0) {
this.totalPagecount = totalRecordCount / pagesize;
} else {
this.totalPagecount = totalRecordCount / pagesize + 1;
}
}
}
调用方法:
action里调用:
public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
TopicDAO tdao=new TopicDAOImpl();
String s_pagesize=(String)request.getParameter("pagesize");
int pagesize=20;
if (s_pagesize!=null)
{
pagesize=Integer.parseInt(s_pagesize);
}
int pagecount=1;
String s_pagecount=(String)request.getParameter("pagecount");
if (s_pagecount!=null)
{
pagecount=Integer.parseInt(s_pagecount);
}
//得到记录总数
long totalcount=tdao.getTopicTotalCount();
System.out.println("total:"+totalcount);
List topics=tdao.getTopics(pagesize,pagecount);
for (int i=0;i<topics.size();i++)
{
TopicBean tb=(TopicBean)topics.get(i);
System.out.println(tb.getTid()+"-"+tb.getTname());
}
PageBean  pb=new PageBean(pagecount,pagesize, (int)totalcount,topics);
request.setAttribute("topic_pagebean", pb);
return mapping.findForward("topic_list");
}
jsp页面调用示例:
<%
PageBean  pb=(PageBean)request.getAttribute("topic_pagebean");
List topics=pb.getRecordContents();
%>
<div class="cont">
<center><h2>记录列表</h2></center><br/><br/>
<div class="list">
<form name="topic"  action="topic.do" method="get">
<input type="hidden" name="method" value="list" />
<input type="hidden" name="pagesize" value="<%=pb.getPagesize()%>" />
<table width="100%" border="0">
<tr class="white">
<th class="sl1" width="30%">标题</th>
<th width="30%" class="sl1">描述</th>
<th class="sl1" width="25%">ID </th>
<th width="15%"> 操作</th>
</tr>
<%
for (int i=0;i<topics.size();i++)
{
TopicBean tb=(TopicBean)topics.get(i);
%>
<%
String classname="";
if (i%2==1)
{
classname="white";
}
%>
<tr class="<%=classname %>">
<td><%=tb.getTname() %></td>
<td><%=tb.getTdesc() %></td>
<td>
<%=tb.getTid() %>
</td>
<td><a href='/topic.do?method=view&tid=<%=tb.getTid() %>'>[查看]</a></td>
</tr>
<%
}
%>
<tr>
<td colspan="6">
<p align="center">
<br/>
共<%=pb.getTotalRecordCount() %>个记录,共<%=pb.getTotalPagecount() %>页,每页<%=pb.getPagesize() %>个 ,当前第<%=pb.getCurrentpage() %>页
<%
if (pb.getCurrentpage()==1)
{
out.print("首页  上页 ");
}
else
{
%>
<a href="topic.do?method=list&pagecount=1&pagesize=<%=pb.getPagesize() %>">首页</a>
<a href="topic.do?method=list&pagecount=<%=pb.getCurrentpage()-1%>&pagesize=<%=pb.getPagesize() %>">上页</a>
<%
}
%>
<%
if (pb.getCurrentpage()==pb.getTotalPagecount())
{
out.print("下一页  尾页 ");
}
else
{
%>
<a href="topic.do?method=list&pagecount=<%=pb.getCurrentpage()+1 %>&pagesize=<%=pb.getPagesize() %>">下一页 </a>
<a href="topic.do?method=list&pagecount=<%=pb.getTotalPagecount() %>&pagesize=<%=pb.getPagesize() %>">  尾页</a>
<%
}
%>
转到第 <input type="text" name="pagecount" value="<%=pb.getCurrentpage() %>" size="4"> 页
<input type="submit" value="GO" size="4">
</td>
</tr>
</table></form>
</div>
</div>
action配置
<action path="/topic" type="com.myweb.web.action.TopicAction" scope="request"  parameter="method">
<forward name="topic_list" path="/WEB-INF/pages/test/test/topic_list.jsp"/>
</action>
访问方式: http://192.168.0.1/topic.do?method=list&pagecount=1&pagesize=10

分页封装实用工具类及其使用方法相关推荐

  1. java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源

    实现该方法需要导入一些jar包 可以去一下地址下载: http://pan.baidu.com/s/1hqrJF7m /** * 实用工具类来获取服务器资源 * * get方法传送数据 * * 1.通 ...

  2. ( 持续更新,目前含 200+ 工具类 ) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。

    DevUtils GitHub About ( 持续更新,目前含 200+ 工具类 ) Roadmap DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 ...

  3. Java封装OkHttp3工具类

    点击关注公众号,Java干货及时送达  作者:如漩涡 https://blog.csdn.net/m0_37701381 Java封装OkHttp3工具类,适用于Java后端开发者 说实在话,用过挺多 ...

  4. writeValueAsString封装成工具类

    封装成工具类 [java] view plaincopyprint? <span style="font-family:Microsoft YaHei;">public ...

  5. MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)

    验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...

  7. Redis(七) - 封装Redis工具类

    文章目录 一.封装Redis工具类 1. 使用构造方法注入StringRedisTemplate 2. 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL ...

  8. Java封装redis工具类RedisUtils,以及在@Postconstruct注解中调用redis可能出现redisTemplate空指针异常

    1.封装redis工具类RedisUtils import org.springframework.data.redis.core.RedisTemplate; import org.springfr ...

  9. Boost 库中的实用工具类使用入门

    简介: 实用工具类开发和维护会耗费程序员的时间.Boost 通过提供几个高质量的库,从而简化了此过程,您可以将这些库轻松集成到现有的代码库中.本文简单概述一些较流行的 Boost 实用工具类,并帮助您 ...

最新文章

  1. docker虚拟机动态扩展内存
  2. You have not accepted the license agreements of the following SDK components
  3. 计算机专业有什么血泪建议吗?
  4. 网鼎杯2020php反序列化,2020-网鼎杯(青龙组)_Web题目 AreUserialz Writeup
  5. 【BZOJ3083】遥远的国度,树链剖分练习
  6. java 注册监听_java注册监听模型
  7. 【疑点】当子元素全部浮动时,怎么解决父元素塌陷的问题?
  8. python爬虫笔记_python简单爬虫笔记
  9. kafka与zookeeper下载安装及kafka常用命令
  10. python错题集(1)
  11. 在企业访客管理中引入人脸识别系统有哪些应用?
  12. 滚动轴承故障特征频率计算公式
  13. 【转】走火大神说:去年这时候又辞退了一个老油条,不知道他现在是否在开公司了,可以对比一下混工资的水平...
  14. hadoop设置java环境_Hadoop环境安装设置
  15. 2023年第10期(NeuroImage):DomainATM:多中心医学图像数据标准化工具箱
  16. 习题2.7 编写程序,输出0到360中所有度数为5°倍数的角度的正弦值和余弦值
  17. Leetcode每日一题——377.组合总和Ⅳ。完全背包推导。dp数组
  18. 科学计算机上lg怎么打,科学计算器的log右下角的底数怎么表示啊?各位学霸,拜托了...
  19. 实时监听div,input内容改变并获取值(包括脚本动态添加)
  20. 医疗器械图纸管理软件,图文档管理解决方案

热门文章

  1. 4.1 人工智能的发展趋势
  2. Chrono-Chrome下载管理插件
  3. 2022年国赛建模评估
  4. IE常见问题解决方案大全
  5. apexError计算机离线状态,Apex英雄第六赛季常见故障排除方法
  6. 前台获取服务器ip地址
  7. linux下 kafka的安装
  8. 华科计算机组成原理 存储系统实验 汉字字库Logsim实验
  9. android 仿微信demo————微信通讯录界面功能实现(移动端,服务端)
  10. 仿微信通讯录的Demo----PinnedHeaderListView