pager-taglib翻页查询参数乱码问题

需要修改pager-taglib的源码pagerTag.java的addParam方法如下

final void addParam(String name, String value) {
		try {
			
			if (value != null) {
				name = java.net.URLEncoder.encode(name,pageContext.getResponse().getCharacterEncoding());
				value = java.net.URLEncoder.encode(value,pageContext.getResponse().getCharacterEncoding()); //中文 -> %EA%EF%BD%8E

				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,pageContext.getResponse().getCharacterEncoding());
					for (int i = 0, l = values.length; i < l; i++) {
						value = java.net.URLEncoder.encode(values[i],pageContext.getResponse().getCharacterEncoding());
						uri.append(params == 0 ? '?' : '&')
						   .append(name).append('=').append(value);

						params++;
					}
				}
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

如果翻页还乱码,需要修改tomcat的编码为UTF-8

 <Connector port="8983" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" />


你可能感兴趣的:(pager-taglib翻页查询参数乱码问题)