JSPTags.com 提供了一套分页标签 使用起来很方便里面包含了很多主流网站分页的实现例如 google yahoo 等等很久以前在项目中使用过,今天顺便整理了一下使用步骤: 1:下载示例代码 [url] http://jsptags.com/tags/navigation/pager/pager-taglib-2.0.war[/url] 2:在适当的位置上找到pager-taglib.jar添加到你web工程的{$webapp}/WEB-INF/lib目录下 找到pager-taglib.tld 文件添加到你 web工程的{$webapp}/WEB-INF 目录下 3:虚拟的业务逻辑类
package com.test.pagemanager;
import java.util.ArrayList;
import java.util.List;
public class PageManager {
private static List<String> names;
{
names = new ArrayList<String>();
names.add(" black ");
names.add(" black ");
names.add(" black ");
names.add(" black ");
names.add(" blue ");
names.add(" blue ");
names.add(" blue ");
names.add(" blue ");
names.add(" blue ");
names.add(" red ");
names.add(" yellow ");
names.add(" blue ");
names.add(" green ");
names.add(" blue ");
names.add(" black ");
names.add(" green ");
names.add(" black ");
}
/**
* 查询函数
*
* @param pageNum 页码
* @param pageSize 页大小
* @param condition 查询条件
*/
public List<String> query(int pageNum, int pageSize, String condition) {
List<String> tmpNames = getNames(condition);
List<String> ret = new ArrayList<String>();
int start = (pageNum - 1) * pageSize;
int end = start + pageSize - 1;
if (start >= tmpNames.size())
return ret;
for (int i = 0; i < tmpNames.size(); i++) {
if (i >= start && i <= end)
ret.add(tmpNames.get(i));
}
return ret;
}
/**
* 虚拟查询方法
* @param condition
* @return
*/
private List<String> getNames(String condition) {
if (null == condition)
return names;
List<String> ret = new ArrayList<String>();
for (int i = 0; i < names.size(); i++) {
if (condition.equals(names.get(i)))
ret.add(names.get(i));
}
return ret;
}
/**
* 得到查询结果
* @param condition
* @return
*/
public int getSize(String condition) {
return getNames(condition).size();
}
}
jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>
<jsp:useBean id="pm" scope="page" class="com.test.pagemanager.PageManager"/>
<html><head></head><body>
<form name="cc" action="MyJsp.jsp " method="post">
<input type="text" name="name" value="<%=request.getParameter("name")%>" />
<input type="submit" value="search" />
</form>
<pg:pager items="<%=pm.getSize(request.getParameter("name"))%>"
index="center" maxPageItems="5" maxIndexPages="5"
isOffset="<%=false%>"
export="pageOffset,currentPageNumber=pageNumber" scope="request">
<%
int pageNum = 1;
if (request.getParameter("pageNo") != null)
pageNum = Integer.valueOf(request.getParameter("pageNo"));
int pageSize = 5;
List result = pm.query(pageNum, pageSize, request.getParameter("name"));
%>
<table><tr><td>result</td></tr>
<%for (int i = 0; i < result.size(); i++) {%>
<tr><td><%=result.get(i)%></td></tr><%}%>
</table>
<pg:param name="name" />
<pg:index>
<jsp:include page="jsptags.jsp" flush="true" />
</pg:index>
</pg:pager>
</body>
</html>
include 的jsptags页面
<%@ page session="false" contentType="text/html;charset=utf-8"%>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>
<pg:first>
<a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><nobr>[#<%=pageNumber%>首页]</nobr></a>
</pg:first>
<pg:skip pages="<%=-5%>">
<a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><nobr>[#<%=pageNumber%>后退]</nobr></a>
</pg:skip>
<pg:prev>
<a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><nobr>[#<%=pageNumber%>前一页]</nobr></a>
</pg:prev>
<pg:pages>
<a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><%=pageNumber%></a>
</pg:pages>
<pg:next>
<a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><nobr>[下一页 #<%=pageNumber%>]</nobr></a>
</pg:next>
<pg:skip pages="<%=5%>">
<a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><nobr>[跳进 #<%=pageNumber%>]</nobr></a>
</pg:skip>
<pg:last>
<a href="<%=pageUrl%>&pageNo=<%=pageNumber%>"><nobr>[尾页 #<%=pageNumber%>]</nobr></a>
</pg:last>
分享到:
相关推荐
总结来说,实现`jsp java分页标签`涉及创建TLD文件、编写标签处理类、处理分页逻辑以及在JSP页面中使用这些标签。通过这种方式,我们可以构建一个灵活且可复用的分页组件,提高代码质量和效率。在实际项目中,还可以...
Pager Taglib的使用相对简单,只需要在JSP页面导入对应的标签库,然后使用`<pager:tags>`标签就可以实现分页效果。 在SSHConformity项目中,Display Tag和Pager Taglib的缺架包问题可能意味着在项目构建时没有正确...
分页标签通常由自定义标签库(Tag Library)提供,例如Spring框架的Tiles或Struts框架的Tiles2等。这些标签库提供了预定义的标签,可以直接在JSP页面上使用,使得代码更加简洁和易于维护。 二、分页标签的工作原理 ...
使用`pager-tagl.tld`进行页面分页时,开发者只需要在JSP页面中引用这个标签库,并按照TLD中定义的属性设置参数,即可轻松实现分页效果。例如,可以设置数据源、每页显示的记录数、当前页码等。 在实际开发中,`...
<%@taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %> ``` #### 三、标签详解 ##### `<pg:pager>` 标签 这个标签是用来控制整个分页逻辑的核心。它接受一系列参数来定制分页的行为: - *...
在这个实例中,我们将关注"Pager-taglib"分页插件的使用,它是一个基于JSP标签库的工具,能够帮助开发者快速实现分页功能。 Pager-taglib是Apache的Struts Taglib库的一部分,提供了一组方便的JSP标签,用于创建...
在本文中,我们将深入探讨`pager-taglib`的安装与使用,这是一个用于Java Web应用程序中实现分页功能的标签库。分页是提高用户体验的关键,特别是在数据量大的时候,它允许用户逐页浏览内容,而无需一次性加载所有...
在提供的压缩文件中,`pagesetDemo.rar`可能包含了一个分页标签库的示例,`PagerTag2[1].0.rar`可能是另一个版本的分页标签实现,而`MaoTag.rar`可能是一个自定义的标签库,可能包含了一些与特定功能相关的自定义...
<s:iterator value="#pagerTag.items" status="status"> <!-- 这里显示每个数据项 --> ``` 6. **样式和事件处理**:`pager-taglibs`还提供了一些样式类,可以自定义分页按钮的样式。此外,还可以通过监听`...