使用pager进行分页
pager jar网址:http://java2s.com/Code/Jar/t/Downloadtaglibspagejar.htm
package com.binary.entity;
import java.util.List;
public class PageModel<T> {
private long total;//页数
private List<T> dates;//当前页的数据
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public List<T> getDates() {
return dates;
}
public void setDates(List<T> dates) {
this.dates = dates;
}
}
package com.binary.entity;
public class Pager {
private int offset;//offset表示从那一页开始记录
public int getOffset() {
return offset;
}
public void setOffset(int offset) {
this.offset = offset;
}
}
package com.binary.entity; import java.util.HashSet;
import java.util.Set; /**
* User entity. @author MyEclipse Persistence Tools
*/ public class User implements java.io.Serializable { // Fields private Integer id;
private String uname;
private String upass;
private String meun; // Constructors /** default constructor */
public User() {
} /** minimal constructor */
public User(String meun) {
this.meun = meun;
} /** full constructor */
public User(String uname, String upass, String meun, Set meuns) {
this.uname = uname;
this.upass = upass;
this.meun = meun;
} // Property accessors public Integer getId() {
return this.id;
} public void setId(Integer id) {
this.id = id;
} public String getUname() {
return this.uname;
} public void setUname(String uname) {
this.uname = uname;
} public String getUpass() {
return this.upass;
} public void setUpass(String upass) {
this.upass = upass;
} public String getMeun() {
return this.meun;
} public void setMeun(String meun) {
this.meun = meun;
} }
import java.util.List; import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; import com.binary.entity.PageModel;
import com.binary.entity.User; public class UserDao { public PageModel<User> getUsers(int offset,int maxResult) {
Configuration cf=new Configuration().configure();
SessionFactory sf=cf.buildSessionFactory();
Session session=sf.openSession();
Query q= session.createQuery("from User");
PageModel<User> users=new PageModel<User>();
users.setTotal(q.list().size());
q.setFirstResult(offset);
q.setMaxResults(maxResult); users.setDates(q.list());
session.close();
return users;
}
}
package com.dan.biz; import com.binary.entity.PageModel;
import com.binary.entity.User;
import com.dan.dao.UserDao; public class UserBiz { public PageModel<User> getUsers(int offset,int maxResult) {
return new UserDao().getUsers(offset, maxResult);
}
}
package com.dan.action; import org.apache.struts2.ServletActionContext; import com.binary.entity.PageModel;
import com.binary.entity.Pager;
import com.binary.entity.User;
import com.dan.biz.UserBiz;
import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { private Pager pager=new Pager();//存放偏移量
private int numPerPage=2;//每页的数据量
private long totalCount;//总页数
private String str; public String getStr() {
return str;
} public void setStr(String str) {
this.str = str;
} public Pager getPager() {
return pager;
} public void setPager(Pager pager) {
this.pager = pager;
} public int getNumPerPage() {
return numPerPage;
} public void setNumPerPage(int numPerPage) {
this.numPerPage = numPerPage;
} public long getTotalCount() {
return totalCount;
} public void setTotalCount(long totalCount) {
this.totalCount = totalCount;
} public String execute() {
System.out.println(str);
UserBiz biz=new UserBiz();
PageModel<User> users=biz.getUsers(pager.getOffset(), numPerPage);
totalCount=users.getTotal();
ServletActionContext.getRequest().setAttribute("user", users.getDates());
return SUCCESS;
}
}
page.tag封装成tag标签
<%@tag pageEncoding="utf-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="pg" uri="/WEB-INF/lib/pager-taglib.jar" %>
<%@attribute name="color" required="true" %>
<%@attribute name="totalCount" required="true" rtexprvalue="true" %>
<%@attribute name="numPerPage" required="true" rtexprvalue="true" %> <pg:pager items="${totalCount }" url="user" export="currentPageNumber=pageNumber"
maxPageItems="${numPerPage }" maxIndexPages="5"> <pg:first>
<a href="${pageUrl }">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl }">前页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${pageNumber == currentPageNumber}">
<font color="red">${pageNumber }</font>
</c:when>
<c:otherwise>
<a href="${pageUrl }">${pageNumber }</a>
</c:otherwise>
</c:choose> </pg:pages>
<pg:next>
<a href="${pageUrl }&str=aaaa">下一页</a> </pg:next>
<pg:last>
<a href="${pageUrl }">尾页</a>
</pg:last>
${pageUrl } </pg:pager>
jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="pg" uri="/WEB-INF/lib/pager-taglib.jar" %>
<%@ taglib prefix="page" tagdir="/WEB-INF/tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> </head>
<body>
<c:forEach items="${user }" var="u">
${u.uname }
</c:forEach> <page:page color="red" numPerPage="${numPerPage }" totalCount="${totalCount }"></page:page>
</body>
</html>
使用pager进行分页的更多相关文章
- asp.net mvc 简易通用自定义Pager实现分页
asp.net mvc 自定义Pager实现分页 Intro 一个WEB应用程序中经常会用到数据分页,本文将实现一个简单通用的分页组件,包含一个 PagerModel (用来保存页码信息),一个 Ht ...
- jQuery +ajax +json+实现分页
正文 首先我们创建一般处理程序,来读取数据库中内容,得到返回值. 创建文件,GetData.ashx. 我这里是用的存储过程,存储过程会再下面粘出来,至于数据只是实例,你们可根据需求自行读取数据 代码 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页
系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...
- 基于Jquery+Ajax+Json+高效分页
摘要 分页我相信大家存储过程分页已经很熟悉了,ajax更是耳熟能详了,更别说我们的json,等等. 如果说您没用过这些东东的话,我相信看完这篇博文会对您有帮助的,,如果有任何问题不懂或者有bug没问题 ...
- Hibernate分页查询小结
通常使用的Hibernate通常是三种:hql查询,QBC查询和QBE查询: 1.QBE(Qurey By Example)检索方式 QBE 是最简单的,但是功能也是最弱的,QBE的功能不是特别强大, ...
- 使用MvcPager实现Ajax分页
接触ASP.NET MVC的时间不长,这段时间做东西的时候要用到分页,但是普通的分页用户体验不是很好,所以想实现无刷新的分页. 在网上找了好多例子,但是感觉都封装的不好,不小心发现了Webdiyer. ...
- ASP.NET MVC 分页问题
在使用Ajax.Pager进行分页的时候需要注意一下几个方面: 1.一定要引入jquery.unobtrusive-ajax.min.js这个js: 2.一定要在页面中使用注册分页器,注册方法:@{H ...
- 基于Jquery+Ajax+Json+存储过程 高效分页
在做后台开发中,都会有大量的列表展示,下面给大家给大家分享一套基于Jquery+Ajax+Json+存储过程高效分页列表,只需要传递几个参数即可.当然代码也有改进的地方,如果大家有更好的方法,愿留下宝 ...
- YII框架CGridView分页实现
C控制器层 $model = new User('search'); $model->unsetAttributes(); $dataProvider = $model->search() ...
随机推荐
- CentOS7 安装Bind
简要记录安装Bind的过程以及遇到的问题 一. 虚拟机准备 准备了2台虚拟机,都是装的CentOS7 64_1的IP地址为192.168.1.160,2的地址为161.161作为DNS服务器. 二.下 ...
- Unity3D移动端内存优化(NGUI方面)
Unity3D引擎技术交流QQ群:[21568554] 做3d移动端内存一直是人们头疼的问题,载入的资源释放了,还有其它的须要释放.比方ngui释放,事实上主要是NGUI的Texture和Spr ...
- Dubbo与Zookeeper、SpringMVC整合和利用(负载均衡、容错)
互联网发展,扩大了网站应用程序的大小.传统的垂直应用架构已经无法应付.分布式服务架构和流量计算架构势在必行,Dubbo是一个分布式服务框架.在这样的情况下诞生的.如今核心业务抽取出来.作为独立的服务, ...
- Unity3D脚本--真实1
1. Unity3D动作脚本 Unity3D脚本用于Unity3D发动机订单公布. JavaScript全局变量:在Inspector中能够看到,且能够改动其值.其他脚本可调用此变量. C#公有(pu ...
- 《高性能 JavaScript》读书笔记(一)
一. 加载和执行——优化JavaScript规则: 1. 将脚本放在底部:2. 减少页面中外链脚本文件的数量: 比如,下载单个100kb的文件将比下载4个25kb的文件更快.这个可以通过离线打包工具或 ...
- HDU 2647 Reward(图论-拓扑排序)
Reward Problem Description Dandelion's uncle is a boss of a factory. As the spring festival is comin ...
- iOS,Android,.NET通用AES加密算法
原文:iOS,Android,.NET通用AES加密算法 这两天为移动App开发API,结果实现加密验证时碰到一大坑.这里不得不吐槽下又臭又硬的iOS,Windows Server无法解密出正确的结果 ...
- BroadcastReceiver.PendingResult类别
java.lang.Object android.content.BroadcastReceiver.PendingResul 类概述 状态的结果正在等待一个广播接收器.在BroadcastRecei ...
- js中prototype用法(转)
JavaScript能够实现的面向对象的特征有:·公有属性(public field)·公有方法(public Method)·私有属性(private field)·私有方法(private fie ...
- maven添加本地jar包依赖
1. 在java工程下新建文件夹,如repo/allin/allin-util/0.1 然后jar包扔进去,如下图: 2. 修改pom.xml文件,增加以下 <repositories> ...