import java.util.List;
public
class PageModel {
/**
* 总记录数
* */
private
int total;
/**
* 当前页的记录集
* */
private List datas;
public
int getTotal() {
return total;
}
public
void setTotal(int total) {
this.total = total;
}
public List getDatas() {
return datas;
}
public
void setDatas(List datas) {
this.datas = datas;
}
}
public
interface AlarmDao {
public
void add(Alarm alarm);
public Alarm getAlarm(Integer id);
public List getAlarmList();
public
void update(Alarm alarm);
public
void delete(Integer id);
/**
*
* @param offset 从第几条记录开始查询
* @param pagesize 每页显示多少条记录
* @return
*/
public PageModel findAllAlarm(int offset, int pagesize);
}
public PageModel findAllAlarm(int offset, int pagesize) {
//得到总记录数
String queryCountHql = "select count(*) from Alarm";
Query query = getSession().createQuery(queryCountHql);
int total = ((Long)query.uniqueResult()).intValue();
List datas = getSession().createQuery("from Alarm")
.setFirstResult(offset)
.setMaxResults(pagesize)
.list();
//得到结果集
PageModel pm = new PageModel();
pm.setTotal(total);
pm.setDatas(datas);
return pm;
}
public PageModel findAllAlarm(int offset, int pagesize);
public PageModel findAllAlarm(int offset, int pagesize) {
// TODO Auto-generated method stub
return alarmDao.findAllAlarm(offset, pagesize);
}
public String pagerTaglib()
{
int pagesize=3;
int offset=0;
HttpServletRequest request = ServletActionContext.getRequest();
if(request.getParameter("pager.offset")!=null)
offset=Integer.parseInt(request.getParameter("pager.offset"));
PageModel pm=alarmManager.findAllAlarm(offset, pagesize);
request.setAttribute("pm", pm);
return
"pagertaglib";
}
<%@ page language="java"
import="java.util.*"
pageEncoding="utf-8"%>
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="pg"
uri="http://jsptags.com/tags/navigation/pager" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>测试 分页</title>
</head>
<body>
<h1>测试 分页</h1>
<hr/>
<table
width="778"
border="0"
cellPadding="0"
cellSpacing="1"
bgcolor="#6386d6">
<tr
bgcolor="#EFF3F7">
<TD
align="center">ID</TD>
<TD
align="center">内容</TD>
<TD
align="center">时间</TD>
<TD
align="center">相关操作</TD>
</tr>
<c:if
test="${!empty pm.datas}">
<c:forEach
items="${pm.datas}"
var="alarm">
<tr
bgcolor="#EFF3F7">
<td
align="center">${alarm.wid }</td>
<td
align="center">${alarm.wcontent }</td>
<td
align="center">${alarm.wtime}</td>
<td
align="center">
修改
删除</td>
</tr>
</c:forEach>
</c:if>
<c:if
test="${empty pm.datas}">
<tr>
<td
colspan="5"
align="center"
bgcolor="#EFF3F7">
没有找到相应的记录
</td>
</tr>
</c:if>
</table>
<pg:pager
url="pagerTaglib!pagerTaglib"
items="${pm.total}"
export="currentPageNumber=pageNumber" maxPageItems="3">
<pg:first>
<a
href="${pageUrl}">首页</a>
</pg:first>
<pg:prev>
<a
href="${pageUrl }">上一页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when
test="${currentPageNumber eq pageNumber}">
<font
color="red">${pageNumber }</font>
</c:when>
<ctherwise>
<a
href="${pageUrl }">${pageNumber }</a>
</ctherwise>
</c:choose>
</pg:pages>
<pg:next>
<a
href="${pageUrl }">下一页</a>
</pg:next>
<pg:last>
<a
href="${pageUrl }">尾页</a>
</pg:last>
</pg:pager>
</body>
</html>
标签名: | 简介: | 参数说明: |
pg:pager | 设置分页的总体参数 | url:分页的链接根地址,pager标签会在这个链接的基础上附加分页参数 items:总记录数,pager标签正是根据这个值来计算分页参数的 maxPageItems:每页显示的行数,默认为10(不写此标签,你会发现分页的条数在小于10的时候显示不出来一些数据。当大于10的时候则会出现重复的记录!) maxIndexPages:在循环输出页码的时候,最大输出多少个页码,默认是10 |
pg:first | 第一页的标签 | export变量的意义: pageUrl - 分页链接URL地址(最重要的export参数) pageNumber - 页码 firstItem - 首页第一行的索引值 lastItem - 首页最后一行的索引值 |
pg:pre | 上一页标签 | export变量的意义: pageUrl - 分页链接URL地址(最重要的export参数) pageNumber - 页码 firstItem - 前页第一行的索引值 lastItem - 前页最后一行的索引值 |
pg:next | 下一页标签 | export变量的意义: pageUrl - 分页链接URL地址(最重要的export参数) pageNumber - 页码 firstItem - 下页第一行的索引值 lastItem - 下页最后一行的索引值 |
pg:last | 最后一页 | export变量的意义: pageUrl - 分页链接URL地址(最重要的export参数) pageNumber - 页码 firstItem - 尾页第一行的索引值 lastItem - 尾页最后一行的索引值 |
pg:pages | 循环输出页码信息 | export变量的意义: pageUrl - 分页链接URL地址(最重要的export参数) pageNumber - 页码 firstItem - pageNumber这个页码指定的那一页的第一行的索引值 lastItem - pageNumber这个页码指定的那一页的最后一行的索引值 |
<pg:pager
url="pagerTaglib!pagerTaglib"
items="${pm.total}"
index="half-full"
export="currentPageNumber=pageNumber"
maxPageItems="3">
<pg:index>
<center>
<table
border=0
cellpadding=0
width=10% cellspacing=0>
<tr
align=center
valign=top>
<td
valign=bottom><font
face=arial,sans-serif
size=-1>Result Page: </font></td>
<pg:prev
ifnull="true">
<% if (pageUrl != null) { %>
<td
align=right><A
HREF="<%= pageUrl %>"><IMG
SRC=http://www.google.com/nav_previous.gif alt=""
border=0><br>
<b>revious</b></A></td>
<% } else { %>
<td><IMG
SRC=http://www.google.com/nav_first.gif alt=""
border=0></td>
<% } %>
</pg:prev>
<pg:pages>
<% if (pageNumber == currentPageNumber) { %>
<td><IMG
SRC=http://www.google.com/nav_current.gif alt=""><br>
<font
color=#A90A08><%= pageNumber %></font></td>
<% } else { %>
<td><A
HREF="<%= pageUrl %>"><IMG
SRC=http://www.google.com/nav_page.gif alt=""
border=0><br>
<%= pageNumber %></A></td>
<% } %>
</pg:pages>
<pg:next
ifnull="true">
<% if (pageUrl != null) { %>
<td><A
HREF="<%= pageUrl %>"><IMG
SRC=http://www.google.com/nav_next.gif alt=""
border=0><br>
<b>Next</b></A></td>
<% } else { %>
<td><IMG
SRC=http://www.google.com/nav_last.gif alt=""
border=0></td>
<% } %>
</pg:next>
</tr>
</table>
</center>
</pg:index>
pg:pager>