- 浏览: 46688 次
- 性别:
- 来自: 北京
最新评论
-
mazhi4562qq:
1811710573
cxf rest -
mazhi4562qq:
能不能把需要的jar包给我,谢谢啊。
cxf rest -
MEZboy:
这个删除方法真的不错,值得借鉴
jquery 添加删除 table tr -
jiangaction:
顶
楼主好人
Ibatis 入门经典 实例
java 分页代码
分页模型代码
/**
* @{#} 类名称: PageModel.java
* 创建时间: Aug 20, 2009 11:33:16 AM
*
*/
package com.zyf.pagemodel;
import java.io.Serializable;
/**
* @作者 <a href="http://qing393260529.iteye.com">昨夜风</a>
* @版本 1.0
*/
public class PageModel implements Serializable
{
private static final long serialVersionUID = 3696238332059708804L;
private String pageCount="";
private String pageIndex="";
private String params= "";
private String indexColor="";
private String countColor="";
public String getCountColor()
{
return countColor;
}
public void setCountColor(String countColor)
{
this.countColor = countColor;
}
public String getIndexColor()
{
return indexColor;
}
public void setIndexColor(String indexColor)
{
this.indexColor = indexColor;
}
public String getParams()
{
return params;
}
public void setParams(String params)
{
this.params = params;
}
public String getPageCount()
{
return pageCount;
}
public void setPageCount(String pageCount)
{
this.pageCount = pageCount;
}
public String getPageIndex()
{
return pageIndex;
}
public void setPageIndex(String pageIndex)
{
this.pageIndex = pageIndex;
}
}
分页标签代码
/**
* @{#} 类名称: PageModelTag.java
* 创建时间: Aug 20, 2009 11:34:50 AM
*
*/
package com.zyf.pagemodel;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyTagSupport;
/**
* @作者 <a href="http://qing393260529.iteye.com">昨夜风</a>
* @版本 1.0
*/
public class PageModelTag extends BodyTagSupport
{
private static final long serialVersionUID = -4247241487535299862L;
private String indexColor = "";
private String countColor = "";
private String navigationUrl = "";
private int pageIndex;
private int pageCount;
// 自定义参数
private String params = "";
public int getPageCount()
{
return pageCount;
}
public void setPageCount(int pageCount)
{
this.pageCount = pageCount;
}
public int getPageIndex()
{
return pageIndex;
}
public void setPageIndex(int pageIndex)
{
this.pageIndex = pageIndex;
}
public int doStartTag() throws JspException
{
// 获取url
navigationUrl = getParameterUrl();
// 设置显示页数的颜色
getColor();
StringBuffer strb = new StringBuffer();
// 分页
int front = pageIndex - 4; // 前面一截
int back = pageIndex + 4; // 后面一截
if (pageIndex == 1)
{
strb.append(" 首页 ");
strb.append(" 上一页 ");
}
else
{
strb.append("<a href=" + navigationUrl + "pageIndex=1> 首页 </a>");
strb.append("<a href=" + navigationUrl + "pageIndex="
+ (pageIndex - 1) + "> 上一页 </a> ");
}
if (pageIndex < 5) // 如果索引在前5页
{
if (pageCount <= 10) // 总页数不够10页
{
for (int i = 1; i <= pageCount; i++)
{
if (i == pageIndex)
strb.append(" " + pageIndex + " ");
else
strb.append("<a href=" + navigationUrl + "pageIndex="
+ i + ">[" + i + "]</a>");
}
}
else
{
for (int i = 1; i < 10; i++)
{
if (i == pageIndex)
strb.append(" " + pageIndex + " ");
else
strb.append("<a href=" + navigationUrl + "pageIndex="
+ i + ">[" + i + "]</a>");
}
}
}
else
{
if (front >= 1)
{
for (int i = 4; i > 0; i--)
strb.append("<a href=" + navigationUrl + "pageIndex="
+ (pageIndex - i) + ">[" + (pageIndex - i)
+ "]</a>");
}
else
{
for (int i = 1; i < pageIndex; i++)
strb.append("<a href=" + navigationUrl + "pageIndex=" + i
+ ">[" + i + "]</a>");
}
strb.append(" " + pageIndex + " "); // 分界线 eg: 5
// ,前面一截就是1234,后面一截就是6789
if (back <= pageCount)
{
for (int i = 1; i < 5; i++)
strb.append("<a href=" + navigationUrl + "pageIndex="
+ (pageIndex + i) + ">[" + (pageIndex + i)
+ "]</a>");
}
else
{
for (int i = 1; i < pageCount - pageIndex + 1; i++)
strb.append("<a href=" + navigationUrl + "pageIndex="
+ (pageIndex + i) + ">[" + (pageIndex + i)
+ "]</a>");
}
}
if (pageIndex == pageCount)
{
strb.append(" 下一页 ");
strb.append(" 最后一页 ");
}
else
{
strb.append(" <a href=" + navigationUrl + "pageIndex="
+ (pageIndex + 1) + "> 下一页 </a>");
strb.append("<a href=" + navigationUrl + "pageIndex=" + pageCount
+ "> 最后一页 </a>");
}
strb.append(" <font color=" + indexColor + ">" + pageIndex
+ "</font>/<font color=" + countColor + ">" + pageCount
+ "</font>");
JspWriter out = pageContext.getOut();
try
{
out.println(strb.toString());
}
catch (IOException e)
{
e.printStackTrace();
}
return EVAL_PAGE;
}
private void getColor()
{
if (indexColor.equals(""))
indexColor = "red";
if (countColor.equals(""))
countColor = "blue";
}
private String getParameterUrl()
{
System.out.println("params | "+params);
// 没有自定义参数
if (params.equals(""))
return navigationUrl;
StringBuffer url = new StringBuffer();
url.append(navigationUrl).append("?").append(params).append("&");
return url.toString();
}
public String getNavigationUrl()
{
return navigationUrl;
}
public void setNavigationUrl(String navigationUrl)
{
this.navigationUrl = navigationUrl;
}
public String getCountColor()
{
return countColor;
}
public void setCountColor(String countColor)
{
this.countColor = countColor;
}
public String getIndexColor()
{
return indexColor;
}
public void setIndexColor(String indexColor)
{
this.indexColor = indexColor;
}
public String getParams()
{
return params;
}
public void setParams(String params)
{
this.params = params;
}
}
tld 代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor">
<tlib-version>1.1</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>n</short-name>
<tag>
<name>nav</name>
<tag-class>com.zyf.pagemodel.PageModelTag</tag-class>
<body-content>jsp</body-content>
<attribute>
<name>pageIndex</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
<description>当前的页数</description>
</attribute>
<attribute>
<name>pageCount</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description>总页数</description>
</attribute>
<attribute>
<name>navigationUrl</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description>URL</description>
</attribute>
<attribute>
<name>params</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>url自定义参数</description>
</attribute>
<attribute>
<name>indexColor</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>当前所在页的参数</description>
</attribute>
<attribute>
<name>countColor</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>总页数的参数</description>
</attribute>
</tag>
</taglib>
发表评论
-
cxf rest
2013-01-11 17:00 2085<?xml version="1.0" ... -
mysql 纵向 数据 显示横行字段
2012-05-15 14:12 2423CREATE TABLE `t_dictionary` ( ... -
jquery 添加删除 table tr
2011-01-26 17:04 10502<html> <script type= ... -
Spring2.5+Struts2.18+Hibernate3.2 集成开发
2010-03-15 15:50 1158spring 配置 文件 配置信息: <?xml ve ... -
Hibernate Search 注解实例
2010-02-21 16:49 2060pojo 对象 News import java.util. ... -
SSH集成(注解)
2010-01-12 12:48 4026SSH集成(注解)核心配置 可供参考 <?x ... -
mysql数据库备份
2009-12-15 11:12 1008MYSQL导入导出数据库命令 1,进入MySQL ... -
dom4j 解析 xml
2009-11-12 17:31 1150java dom4j 解析 xml 代码 import ... -
java 读取 属性文件
2009-10-26 09:41 1020import java.io.IOException;impo ... -
国家、省、市
2009-10-10 10:05 965级联 js的代码片段 业务 ... -
对象转换成JSON字符串
2009-10-10 09:51 3508package com.sy.test; ... -
jquery 表单验证
2009-10-10 09:41 1049<%@ page language="java ... -
hibernate ehcache 对象缓存
2009-08-31 15:17 1083EHCache的使用场合 1比较少更新表 ... -
oscache 简单使用
2009-08-31 10:25 914OSCache是现在最广泛缓存解决方案,采用的高性能的J2EE ... -
Java发送邮件之Apache Commons Email
2009-08-31 08:37 1335java Email 发送 Apache Commons E ... -
任务调度 Quartz
2009-08-26 14:55 738一个简单的任务调度实例 spring 配置 ... -
java web 验证码
2009-08-19 10:32 1511java 色彩 验证码 代码 package com ... -
java date 操作
2009-08-17 14:20 979java date 的 常用 操作 impor ... -
伪静态
2009-08-16 12:28 1122URLRewrite 技术 URL 重写是截取传入 W ... -
pio 操作 Excel
2009-08-14 20:43 1813pio 操作 Excel 文件 模版类 packag ...
相关推荐
总之,Java自定义分页标签通过TLD和Tag Handler类实现了对分页逻辑的封装,提高了代码的可读性和可维护性。通过这种方式,我们可以灵活地控制分页显示,适应不同的业务场景,提升Web应用的用户体验。
自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签自定义分页标签...
本篇文章将详细讲解如何创建并使用一个Java自定义分页标签。 首先,我们需要了解什么是自定义标签(Custom Tags)。在JSP中,自定义标签是一种扩展JSP功能的方法,它允许开发者封装复杂的逻辑或组件,以标签的形式...
通过学习和理解这些代码,你可以更好地掌握自定义分页标签的实现方式,并将其应用于自己的项目中。 总结来说,自定义Java分页标签是一种高效的方法,可以让你在JSP中轻松实现带条件的分页查询。通过这种方式,你...
本文将深入探讨如何在Java环境中自定义分页标签,以及涉及到的相关技术点。 首先,我们需要理解分页的基本原理。分页通常由两个主要部分组成:前端展示和后端处理。前端负责展示分页导航,如当前页、总页数、页码等...
本资源提供的就是一个自定义分页标签的例子,它可以帮助我们更便捷地在页面上实现数据的分页显示。 分页是大型Web应用中常见的功能,特别是在处理大量数据时,如电商网站的产品列表、论坛的帖子等。自定义分页标签...
总的来说,自定义分页标签提供了一种强大且灵活的方法,使Java开发者能够以声明式的方式处理分页,避免在每个页面都编写重复的分页逻辑。这样的自定义标签可以极大地提高代码的可读性和可维护性,是构建复杂Web应用...
本资源详细介绍了如何在Struts2中自定义分页标签,使得开发过程更加便捷。 在Struts2中,分页通常涉及到以下几个关键步骤: 1. **创建Action类**:首先,你需要创建一个Action类,该类将处理用户的请求,包括获取...
本自定义分页标签源代码提供了一种解决方案,它独立于数据库操作,仅处理分页逻辑,允许开发者专注于数据获取和展示。接下来,我们将详细讨论相关知识点。 1. **自定义标签**: 自定义标签是JSP中的一种特性,允许...
`pagesetDemo`这个文件名可能是示例项目的名称,里面包含了使用这个自定义分页标签的演示代码。 创建Java自定义标签通常包括以下几个步骤: 1. **定义标签处理类**:这是自定义标签的核心,需要继承`javax.servlet...
例如,对于分页标签,我们可能有`pageSize`和`currentPage`等属性,而在`jspTld`文件中,我们将为这些属性指定对应的Java类型和默认值。 总的来说,通过结合JSP和Java自定义标签,我们可以构建高度定制的、可复用的...
"自定义标签分页用法.png"和"自定义标签分页用法(带伪).png"提供了图形化的说明,展示了如何在JSP页面中使用这个分页标签。这些图片可能包含了标签的语法示例,如`<fenye:pagination ... />`,以及如何传递参数,...
总的来说,自定义分页标签在Java企业项目中起到了关键作用,它提高了代码的可读性和可维护性,同时也简化了页面展示的复杂性。通过SSH框架的整合和自定义标签的实现,开发者可以更高效地处理大规模数据的分页展示。