Java分页代码(JFIS)
TpageList类
package jfis.util;
import java.util.List;
publicclass TPageList {
private TPages page=null; //分页对象
private List objectList=null; //对象集合
private String pageStr=""; //分页字符串
public List getObjectList() {
returnobjectList;
}
publicvoid setObjectList(List objectList) {
this.objectList = objectList;
}
public TPages getPage() {
returnpage;
}
publicvoid setPage(TPages page) {
this.page = page;
pageStr=page.getLastPageBreak();
}
public String getPageStr() {
returnpageStr;
}
publicvoid setPageStr(String pageStr) {
this.pageStr = pageStr;
}
}
Tpages类
package jfis.util;
import javax.servlet.http.HttpServletRequest;
publicclass TPages {
private String fileName="";
privateintpageSize=2; //页大小
privateintallPage=1; //总页数
privateintcPage=1; //当前页
privateintsPage=1; //当前页开始记录数
privateintallRecord=1; //总记录数
private String lastPageBreak=""; //分页字符串
privateinta ;//分拆list结果集的变量(相当与游标)。可从list中的确定位置开始读数据
// String bian = request.getParameter("aaa")==null?"0":"5";
// this.a = new Integer(bian);
publicint getA() {
returna;
}
publicvoid setA(int a) {
this.a = a;
}
public TPages(){
}
public TPages(String fileName,HttpServletRequest request){
this.fileName=fileName;
//获得当前页
String cPageStr = request.getParameter("cpage")==null?"1":request.getParameter("cpage");
this.a = request.getParameter("aaa")==null ? 0 : new Integer(request.getParameter("aaa"));
int cPageInt = 0;
try
{
cPageInt = Integer.parseInt(cPageStr);
}catch(Exception e){
System.out.println("com.s6.util.Pages = "+e.getMessage());
cPageInt = 1;
}finally{
cPage = cPageInt;
}
}
//计算总页数,判断当前页的合法性,计算当前页的开始记录数,生成分页字符串
publicvoid doPage(){
//计算总页数
this.allPage=(int)(this.allRecord+this.pageSize-1)/this.pageSize;
//判断当前页的合法性
if(this.cPage<0){
this.cPage=1;
}
if(this.cPage>this.allPage){
this.cPage=this.allPage;
}
//计算当前页开始记录数
this.sPage=(this.cPage-1)*this.pageSize+1;
//生成分页字符串
StringBuffer str=new StringBuffer();
//判断是否有问号“?”
if(this.fileName.indexOf("?")==-1){
this.fileName=this.fileName+"?1=1";
}
str.append("<table width=/"100%/" height=/"100%/">");
//添加表单
str.append("<form name=/"pagelist/" method=/"post/" action=/"");
str.append(this.fileName+"/">");
str.append("<tr><td width=/"100%/" height=/"100%/" align=/"right/" valign=/"middle/">");
str.append("总纪录数"+this.allRecord+"条");
str.append(" ");
//首页
if(this.cPage>1){
str.append("<a href="+this.fileName+"&cpage=1>首页</a>");
}else{
str.append("首页");
}
str.append(" ");
//上一页
if(this.cPage>1){
str.append("<a href=");
str.append(this.fileName+"&cpage=");
str.append(this.cPage-1);
str.append("&aaa=");
str.append(this.a-5);
str.append(">上一页</a>");
}else{
str.append("上一页");
}
str.append(" ");
//下一页
if(this.cPage<this.allPage){
str.append("<a href=");
str.append(this.fileName+"&cpage=");
str.append(this.cPage+1);
str.append("&aaa=");
str.append(this.a+5);
str.append(">下一页</a>");
}else{
str.append("下一页");
}
str.append(" ");
//末页
if(this.cPage<this.allPage){
str.append("<a href=");
str.append(this.fileName+"&cpage=");
str.append(this.allPage);
str.append(">末页</a>");
}else{
str.append("末页");
}
str.append(" ");
//第几页
str.append("第");
str.append(this.cPage);
str.append("页");
str.append(" ");
//共几页
str.append("共");
str.append(this.allPage);
str.append("页");
str.append(" ");
//跳转页
for(int i=1;i<=this.allPage;i++){
str.append(" ");
if(i==this.cPage){
str.append(i);
}else{
str.append("<a href=");
str.append(this.fileName+"&cpage=");
str.append(i);
str.append(">"+i+"</a>");
}
}
str.append("</td></tr></form>");
str.append("</table>");
lastPageBreak=str.toString();
}
publicint getAllPage() {
returnallPage;
}
publicvoid setAllPage(int allPage) {
this.allPage = allPage;
}
publicint getCPage() {
returncPage;
}
publicvoid setCPage(int page) {
cPage = page;
}
public String getFileName() {
returnfileName;
}
publicvoid setFileName(String fileName) {
this.fileName = fileName;
}
public String getLastPageBreak() {
returnlastPageBreak;
}
publicvoid setLastPageBreak(String lastPageBreak) {
this.lastPageBreak = lastPageBreak;
}
publicint getPageSize() {
returnpageSize;
}
publicvoid setPageSize(int pageSize) {
this.pageSize = pageSize;
}
publicint getSPage() {
doPage();
returnsPage;
}
publicvoid setSPage(int page) {
sPage = page;
}
publicint getAllRecord() {
returnallRecord;
}
publicvoid setAllRecord(int allRecord) {
this.allRecord = allRecord;
}
}
DAO里的方法
// 分页
public TPageList pageSearchlist(TPages pages, List list) {
TPageList pageList = new TPageList();
// 记录集总行数
pages.setAllRecord(list.size());
// rs用于保存从list中截取的记录
List rs = new ArrayList();
// 控制从list集合中的第几条开始读取,相当于游标
int a = pages.getA();
// for循环中"5"代表一次读出多少条数据:"a"控制从list集合中的第几条开始读取,相当于游标。
for (int i = 0; i < 5 && a < list.size(); a++) {
rs.add(list.get(a));
i++;
}
Iterator iterator = rs.iterator();
// 得到分页字符串
pages.getSPage();
int i = 0;// 循环变量
// 判断记录总行数是否大于0,并循环创建USER对象
if (pages.getAllRecord() > 0) {
do {
i++;
} while (iterator.hasNext() && i < pages.getPageSize());
pageList.setPage(pages);
pageList.setObjectList(rs);
}
return pageList;
}
Action里的方法
public ActionForward pageSearchList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TPages pages = new TPages(
"/JFIS_CompanyManager/client/outer.do?method=pageSearchList",
request);
pages.setPageSize(5);
TPageList pageList = iouter.pageSearchlist(pages, iouter.getAllOuter());
request.setAttribute("outers", pageList);
return mapping.findForward("outer_list");
}
SSH分页
说明:分页的两个类不变,只变Action和DAO。
Action中
// 分页
public ActionForward pageSearchList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Pages pages = new Pages( "/JFIS_CompanyManager/client/outer.do?method=pageSearchList",request);
pages.setPageSize(10);
PageList pageList = iouter.outerList(pages);
request.setAttribute("outers", pageList);
return mapping.findForward("outer_list");
}
DAO中
// 分页
public PageList outerList(Pages pages) {
PageList pageList = new PageList();
List list = new ArrayList();
/*开启一个HibernateSession对象*/
Session session = this.getSession();
Transaction t = session.beginTransaction();
/*获得结果集*/
Query query = session
.createQuery("from jfis.bean.JfisClientItem order by starttime desc");
/*记录集总行数*/
pages.setAllRecord(query.list().size());
query.setFirstResult(pages.getSPage() - 1);
query.setMaxResults(10);/*设置每页显示的记录数*/
List rs = query.list();
Iterator iterator = rs.iterator();
/*得到分页字符串*/
pages.getSPage();
int i = 0;/*循环变量*/
/*判断记录总行数是否大于0,并循环创建USER对象*/
if (pages.getAllRecord() > 0) {
do {
list = rs;
i++;
} while (iterator.hasNext() && i < pages.getPageSize());
pageList.setPage(pages);
pageList.setObjectList(list);
t.commit();/*事务提交*/
session.close();
}
return pageList;
}
Java分页代码(JFIS)相关推荐
- java分页代码思路,记录--java 分页 思路 (hibernate关键代码)
有时会脑袋蒙圈,记录下分页的思路 下面代码是hibernate的分页,其分页就是从第几条数据为起点,取几条数据.比如在mysql中的limit(5,10)取的就是第6条到第10条 在下面代码中的pag ...
- Java分页代码的实现
在项目中,分页是一个项目中必不可少的,它可以防止我们从数据库中进行大量数据查询时速度变慢,提高我们的查询效率 1.定义分页模型:PageModel package com.common.page; i ...
- JAVA分页代码实例
package com.hjf.web.view; public class PageUtil ... { private int pageSize;//每页显示的条数 pr ...
- Java 常用代码汇总
欢迎关注方志朋的博客,回复"666"获面试宝典 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric ...
- java代码大全及详解(Java 常用代码汇总)
1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a) ...
- JAVA通用分页代码
写的通用分页代码: SQL存储过程代码: CREATE proc page ( @table_name varchar(100),--表名 @count int,--每页显示好多行 @page int ...
- java分页中显示更多_早期更多失败– Java 8
java分页中显示更多 快速失败或早期失败是一种软件工程概念,旨在通过在不应该发生的事情发生时立即停止执行来防止复杂问题的发生. 在之前的博客文章和演示中,我将详细介绍这种方法的优点,在此博客文章中, ...
- java分页插件PageHelper的内置list数据操作失败
问题描述: java分页插件PageHelper的内置list数据在hanlder处理器中获取失败,但是测试确通过了,如下图 但是测试代码成功 @ContextConfiguration(locati ...
- 常用公共代码二之分页代码的实现
在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 二.分页代码实现:在项目中,分页是一个项目中必不可少的,它可以防止我们从数据 ...
最新文章
- bmp文件格式详细解析
- 嵌入式Linux之我行——ARM MMU工作原理剖析
- 从无到有算法养成篇-栈和队列·队列
- 计算机专业最新研究领,「金仕教育」打码秃头?CS计算机专业研究方向与研究领域介绍...
- Spring Boot Serverless 实战系列“架构篇”首发 | 光速入门函数计算
- Erlang --- gen_server
- 准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC、AUC
- flutter 截图 截长图 滚动截图 保存到手机
- 计算机桌面运维问题分类,桌面运维工程师常见面试问题汇总
- 服务器开着但显示器键盘没反应,电脑开机 键盘灯正常亮,可以控制,显示器却没反应 是怎么回事...
- 蓝牙扫描startLeScan测试
- 中英文停止词表(stopword)
- oracle全角改半角,Oracle全角数字转换半角数字
- Crypto.jsAPI官方快速使用指南--全到你掉牙
- 产品版本、软件版本、文档版本定义
- 【数据库MySQL】数据库网上书店管理系统
- ffmpeg使用bsf后码流从avcc格式变成annex-b造成硬解异常
- python爬虫,2020年《财富》中国500强排行榜数据爬取源码
- 随机数生成(一):均匀分布
- 直流电机电压调速器设计