pager-taglib分页中文乱码问题

问题:整个项目是struts2+spring,页面编码格式utf-8,应用pager-taglib标签分页时,中文乱码。

解决方法如下:

1、下载pager-src.jar,解压,建立j2ee项目:pager-taglib,将com、META-INF文件拷贝到src下,看看META-INF下有没有taglib.tld(必须有)。

2、找到PagerTag.java类的addParam方法,代码修改如下,只需要注释下即可:

final void addParam(String name, String value) {
		if (value != null) {
			
//			name = java.net.URLEncoder.encode(name);
//			value = java.net.URLEncoder.encode(value);
			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);
				for (int i = 0, l = values.length; i < l; i++) {
							value = values[i];//java.net.URLEncoder.encode(values[i]);
					uri.append(params == 0 ? '?' : '&')
					   .append(name).append('=').append(value);

					params++;
				}
			}
		}
	}

 

3、大家导入项目时可能会报错,要引入一个j2ee5的库,这里大家要注意,呵呵

4、改完重新编译,打成jar包。

5、这里我们要为我们的项目加入get中文过滤器,因为分页提交时get形式的,不改的话,乱码还是存在的,关于如何加入get提交过滤器可以参看我的博客,上面有说明,呵呵。

你可能感兴趣的:(原jar包,修改后的jar包,src原文件包)