BUG1:在网页中输入一些中文的过滤信息,然后查询,一开始的结果是正确的,但是当点击分页链接想跳到别的页面的时候会出现乱码。
原因:在com.jsptags.navigation.pager包下面的PagerTag类里面有个addParam方法,他在进行编码处理的时候使用了已经被废除的java.net.URLEncoder.encode方法,该方法直接使用系统默认的编码来进行编码,系统默认的编码是gbk,而我们页面的编码是utf-8,这样就造成的乱码。
修复方法:
final void addParam(String name, String value) {
//获取页面编码
String encoding=pageContext.getResponse().getCharacterEncoding();
try {
if (value != null) {
// name = java.net.URLEncoder.encode(name);
// value = java.net.URLEncoder.encode(value);这两个方法会直接使用系统默认的编码来进行编码,系统默认的编码是gbk,而我们页面的编码是utf-8
name = java.net.URLEncoder.encode(name,encoding);
value = java.net.URLEncoder.encode(value,encoding);
uri.append(params == 0 ? '?' : '&')
.append(name).append('=').append(value);
params++;
} else {
String[] values = pageContext.getRequest().getParameterValues(name);
if (values != null) {
name = java.net.URLEncoder.encode(name,encoding);
for (int i = 0, l = values.length; i < l; i++) {
value = java.net.URLEncoder.encode(values[i],encoding);
uri.append(params == 0 ? '?' : '&')
.append(name).append('=').append(value);
params++;
}
}
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
BUG2:当过滤结果为0的时候,lastpager的链接为负数。
原因:
package com.jsptags.navigation.pager;
public final class LastTag extends JumpTagSupport {
protected int getJumpPage() {
//这边没有作判断
return (pagerTag.getPageCount() - 1);
}
}
修复方法
package com.jsptags.navigation.pager;
public final class LastTag extends JumpTagSupport {
protected int getJumpPage() {
if (pagerTag.getPageCount()==0) {
return 0;
}
return (pagerTag.getPageCount() - 1);
}
}
分享到:
相关推荐
总的来说,`pager-taglib`是一个强大的工具,可以帮助JavaWeb开发者快速实现高效且美观的分页功能。其易用性、灵活性和丰富的定制选项使得它成为处理大量数据时的理想选择。通过学习和实践,你可以掌握这个库的使用...
这个文件`pager-taglib_jar包`就是`pager-taglib`框架的实现,是一个Java Archive(JAR)文件,包含了该框架的所有类和资源。在Java Web项目中,需要将这个JAR包添加到项目的类路径(ClassPath)中,以便在编译和...
`pager-taglib`是一个开源的JSP标签库,提供了一系列易于使用的分页标签,如`<pager:page>`、`<pager:previous>`、`<pager:next>`等,开发者只需在JSP页面中引入这些标签,就可以快速构建出具有分页功能的列表页面。...
`pager-taglib`是一个用于实现分页的自定义标签库,它通过JSP标签来简化分页逻辑的编写。本篇文章将详细解释`pager-taglib.jar`和`tld`文件的用途,以及如何在项目中使用它们。 1. **什么是`pager-taglib.jar`?** ...
"pager-taglib-2.0" 是一个特定的Taglib库,专为分页设计,它简化了在JSP中实现分页的过程。这个库不仅提供了基础的分页功能,还可以根据项目需求定制分页样式和行为,例如,自定义每页显示的条目数量、页码的展示...
**标题解析:**"pager-taglib分页jar包"指的是一个专门为JavaServer Pages (JSP) 开发的分页库,它包含了一个名为`pager-taglib`的Java Archive (JAR) 文件。这个JAR包提供了自定义的JSP标签,帮助开发者在网页上...
本项目提供了一个简单的使用Pager-taglib的示例,包括了两种不同的分页样式:普通样式和谷歌样式。 **1. Pager-taglib介绍** Pager-taglib是由Java开发的开源项目,它提供了自定义的JSP标签来处理分页逻辑。开发者...
"pager-taglib-2.0" 是一个专为此目的设计的实用分页标记库,它能够帮助开发者快速构建出类似Google、Yahoo等知名网站的高质量分页效果。 **什么是Taglib** Taglib,全称JSP Tag Library,是JavaServer Pages(JSP...
pager-taglib 是个很好的jsp分页标签,使用它结合jstl可以实现灵活的分页导航功能。在实际的开发中post方式的提交比较常见,本人做了一个比较通用的基于post方式的一个应用。主要实现一下功能: 1.添加输入跳转、每...
这是pager-taglib的官方源码,但在采用官方的pager-taglib分页传输中文参数会出现乱码,所以我采用maven新建一个pager-taglib项目对pager-taglib的源码进行小小的改动,是他支持中文传输,更重要的是把源代码提供给...
Pager Taglib是Java Web开发中的一个强大工具,主要用于实现页面的分页功能。它提供了一组自定义的JSP标签,简化了在网页上创建分页链接的过程,使得开发者可以更加专注于业务逻辑,而不是分页的实现细节。Pager ...
- `pg:first` 和 `pg:last`:这两个标签分别表示第一页和最后一页的链接。 - `pg:prev` 和 `pg:next`:用于生成上一页和下一页的链接。 - `pg:item`:可以用来遍历所有页码并生成对应的链接。 4. **使用示例** ...
利用pager-taglib进行查询分页时需要添加该jar包:pager-taglib.jar
用pager-taglib进行分页时,如果出现中文参数,由于pager-taglib默认是用ISO8859-1编码后进行参数传递,故会出现乱码现象。本人下载源码后,将编码的语句注释掉,即不进行编码,解决了中文乱码问题。改写后的代码已...
已解决中文乱码问题的 pager-taglib-2.0.jar包。
`pager-taglib_jar`文件是一个包含这个标签库的JAR包,它是开发者在项目中引入`pager-taglib`功能所必需的。 `pager-taglib`的核心思想是将分页逻辑与显示逻辑分离,遵循MVC(Model-View-Controller)设计模式。...
**标题解析:**"pager-taglib-ra2.0" 是一个特定版本的分页标签库,主要用于J2EE应用程序中的页面分页功能。这里的 "ra2.0" 指的是该库的版本号,可能是Release 2.0。 **描述分析:**描述中提到“内含jar”,意味着...