pager-taglib使用示范
- 把pager-taglib.jar导入到当前项目/Test/WebRoot/WEB-INF/lib下
- 建立一个分页类
package web; import java.util.List; /**
* 分页模型
*
*/
public class PagerModel { // 总记录数
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;
} } - 建立一个JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>
<html>
<head>
<base href="<%=basePath%>">
<title>新闻列表</title>
</head>
<body>
<pg:pager items="22" url="news.do" index="half-full" maxPageItems="5"
maxIndexPages="10" isOffset="<%=false%>"
export="pageOffset,currentPageNumber=pageNumber" scope="request">
<pg:param name="method" value="all" />
<table align="center">
<c:forEach items="${newsList}" var="nlist">
<tr>
<td>${nlist.sort.stname}</td>
<td><a href="news.do?method=info&nid=${nlist.nid}"
target="_blank">${nlist.ntitle}</a></td>
<td><fmt:formatDate value="${nlist.ntime}"
pattern="yyyy/MM/dd HH:mm" /></td>
</tr>
</c:forEach>
</table>
<pg:index export="total=itemCount">
<center>
<table border=1 cellpadding=0 width=70% cellspacing=0>
<tr align=center valign=top>
<pg:first>
<td width="50">总计${total}个记录,第${currentPageNumber} /
<fmt:formatNumber pattern="0" value="${total % 5 == 0 ? total / 5 :total / 5 +1}" />
页</td>
<c:choose>
<c:when test="${currentPageNumber ne pageNumber}">
<td width="50"><a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><b>首页</b> </a></td>
</c:when>
<c:otherwise>
<td width="50"><b>首页</b></td>
</c:otherwise>
</c:choose>
</pg:first>
<pg:prev ifnull="true">
<c:choose>
<c:when test="${!empty pageUrl}">
<td width="50"><a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><b>上一页</b> </a></td>
</c:when>
<c:otherwise>
<td width="50"><b>上一页</b></td>
</c:otherwise>
</c:choose>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${currentPageNumber eq pageNumber}">
<td width="10"><font color="red">${pageNumber}</font></td>
</c:when>
<c:otherwise>
<td width="10"><a href="${pageUrl}&pageNo=${pageNumber}">${pageNumber}</a></td>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next ifnull="true">
<c:choose>
<c:when test="${!empty pageUrl}">
<td width="50"><a href="${pageUrl}&pageNo=${pageNumber}">下一页</a></td>
</c:when>
<c:otherwise>
<td width="50"><b>下一页</b></td>
</c:otherwise>
</c:choose>
</pg:next>
<pg:last>
<c:choose>
<c:when test="${currentPageNumber ne pageNumber}">
<td width="50"><b><a href="${pageUrl}&pageNo=${pageNumber}">尾页</a></b></td>
</c:when>
<c:otherwise>
<td width="50"><b>尾页</b></td>
</c:otherwise>
</c:choose>
</pg:last>
</tr>
</table>
</center>
</pg:index>
</pg:pager>
</body>
</html>
pager-taglib使用示范的更多相关文章
- pager-taglib分页处理的使用
pager-taglib是java中一个用于分页的小的框架.下面简单介绍一下它的具体使用. 一.环境的搭建: 将pager-taglib-2.0.war包拷贝到Tomcat的webapps下.启动To ...
- springmvc 孔浩 hibernate code
model--User package model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; ...
- 分页技术框架(Pager-taglib)学习二(SSH数据库分页)
一.Pager-taglib数据库分页前提 Pager-taglib分页标签也可以实现数据库分页,与页面分页不同的是需要给后台传两个参数,一个是pageNo(当前页数)或pageOffset(偏 ...
- struts2:上传多个文件时实现带进度条、进度详细信息的示范
上一篇文章讲了上传单个文件与上传多个文件(属性驱动)的例子.本例是上传多个文件(属性驱动),并且显示进度条.进度详细信息的示范. 在文件上传选择界面,允许用户增加.删除选择的文件,且只能上传指定类型的 ...
- 使用pager进行分页
pager jar网址:http://java2s.com/Code/Jar/t/Downloadtaglibspagejar.htm package com.binary.entity; impor ...
- struts2:图解action之HelloWorld示范(从action转到JSP)
虽然Struts 2.x的Action在技术上不需要实现任何接口或继承任何类型,但是,大多情况下我们都会出于方便的原因,使Action类继承com.opensymphony.xwork2.Action ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- [JSP]自定义标签库taglib
自定义标签的步骤 自定义标签的步骤大概有三步: 1.继承javax.servlet.jsp.tagext.*下提供的几个标签类,如Tag.TagSupport.BodyTagSupport.Simpl ...
- 自己写的一个Pager分页组件,WebForm,Mvc都适用
我一说写这个功能的时候,好多人估计有疑问.分页功能网上多的是,搜一个不就行了,你这样不是浪费时间么.你说这句话的时候,我是比较信的,首先自己写一些东西是很耗时,有这些时间又能多打几盘LOL了.但是我觉 ...
随机推荐
- Qt的内存管理
在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下: 1.所有继承自QOBJECT类的类,如果在new的时候指定了父亲,那么它的清理时在父亲被 ...
- DFBle.swift
//// DFBle.swift// DFBle//// Created by LeeYaping on 15/9/2.// Copyright (c) 2015年 lisper. All r ...
- scrollTop,scrollLeft
document.body.scrollTop用法 网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可 ...
- USB挂起与唤醒.
USB可见设备状态分为连接(Attached),上电(Powered),默认(Default),地址(Address),配置(Configured)和挂起(Suspended)6个状态.所谓可见,即U ...
- vim的基本使用方法
头记:vim作为被大多数程序员所推崇的编辑器,是源于它的自由灵活以及令人舒服的输入模式,但对于新手来说无疑是个噩梦(需要记太多的命令), 而作为使用了vim有一段时间的我来说,总结下常用的命令,以备新 ...
- mybati之#与$的区别
$是用于sql的拼接: //因为user_name是String类型,所以在sql中加上单引号,需要手动的判断数据类型,value是如果没有指定参数的话,value就是默认参数名称,获取穿的参数就是: ...
- hdu 2013
水题 AC代码: #include <iostream> using namespace std; int main() { int i,m,n; while(cin>>n) ...
- COM 浅谈
ArcObject 是基于 COM(Microsoft Component Object Model),即组件对象模型.虽然ArcGIS的终端用户不用理解什么是COM,但是作为基于ArcObject的 ...
- C#System.Net.Mail采用简单邮件传输协议发送邮件
引用: using System.Net.Mail; public class EmailHelper { public static bool SendEmail(string title, str ...
- DOM----comment类型
nodeTyep=8 nodeName=#comment nodeValue=注释内容