如何正确使用page—taglib经行正确中文检索分页(同时查询条件任意)
来源:互联网 发布:淘宝商品被投诉假货 编辑:程序博客网 时间:2024/04/29 12:07
平时我们用page—taglib经行分页时,遇到中文分页时老是乱码,有些人说修改它的源码PageTag
final void addParam(String name, String value) {
if (value != null) {name = java.net.URLEncoder.encode(name,"utf-8");
value = java.net.URLEncoder.encode(value,"utf-8");
但是当点击分页时还是乱码,怎么办??
其实到了这里很简单,当你点击下一页是,它用的是get方式提交要转码,所以需要判断
//pagelib bug 当点击下一页查询时,会乱码,所有此处必须转码
if(getRequest().getParameter("pager.offset") != null){
entName = ChineseUtils.toChinese(entName);
System.out.println("--------------entName-----------------entName"+entName);
}
当点击查询时,经行转码。
另外我的分页参数是任意的,我做了个特殊处理
/**
* @author Cooly 2013-7-22
* QueryStringBasesAction.java 统计分析中baseAction
* 统计分析中将请求参数保存,获得基本静态数据信息
* Copyright (c) 2013 by SHUNAN.
* @version 1.0
*/
@SuppressWarnings({"unchecked","serial"})
public class QueryStringBasesAction extends BaseAction {
//将请求参数保存到map中 统计分析中将请求参数保存
protected Map<String, String> queryStringMap = new HashMap<String, String>();
@Override
public void setParameters(Map<String, String[]> map) {
super.setParameters(map);
for(Iterator<String> it = map.keySet().iterator();it.hasNext();){
String key = it.next();
String[] value = map.get(key);
queryStringMap.put(key, value[0]);//统计分析中对每个请求只对应一个值,所以这里只取 value[0]
}
}
}
这是我保存分页时,条件查询的参数,
下面在action继承上面的action,同时放到request里,前台获取
//保留上次请求路径,和参数,同时替换掉entName参数,防止乱码
this.queryStringMap.put("entName", this.entName);
this.getRequest().setAttribute("queryStringMap", this.queryStringMap);
this.getRequest().setAttribute("requestURL ", this.url);
return "success";
下面是我共用分页,
总记录数:${totalcount}
<pg:pager url="${requestURL }" items="${totalcount}" maxPageItems="10" export="currentPageNumber=pageNumber">
<!-- 循环参数列表 -->
<s:iterator value="#request.queryStringMap" >
<pg:param name="${ key}" value="${ value}"/>
</s:iterator>
<pg:first>
<a href="${pageUrl}" id="firstpageurl" >首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl}">前页</a>
</pg:prev>
<pg:pages>
<s:if test="#attr.pageNumber==#attr.currentPageNumber">
<font color="red">${pageNumber }</font>
</s:if>
<s:else><a href="${pageUrl}" >${pageNumber}</a></s:else>
</pg:pages>
<pg:next>
<a href="${pageUrl}" >后页</a>
</pg:next>
<pg:last>
<a href="${pageUrl}" >尾页</a>
</pg:last>
</pg:pager>
由于都是后台穿过来的,所有分页页面可以共用,同时查询条件不用再辛苦的写了,同时解决了中文问题
- 如何正确使用page—taglib经行正确中文检索分页(同时查询条件任意)
- 引入正确的taglib标签 以及正确使用标签
- pager-taglib分页查询中文乱码(用的tomcat)
- SSH2 分页bean(运用page-taglib)
- 分页标签 (page-taglib)使用指南
- java page-taglib分页
- 正确使用POSIX条件变量
- 【分页查询】Page如何做到分页查询
- 如何正确使用电烙铁
- 如何正确使用ads
- 如何正确使用异常
- 如何正确使用Timer
- 如何正确使用内存
- 塑料托盘如何正确使用?
- 如何正确使用内存
- hidesBottomBarWhenPushed如何正确使用
- 如何正确使用log4j
- 如何正确使用log4j
- xcode4.2/4.3 配置svn
- 窗口的枚举和查找
- POJ1088—滑雪 记忆化搜索
- JAVA中String与StringBuffer的区别
- 解释throw表达式和try块的使用方法的程序
- 如何正确使用page—taglib经行正确中文检索分页(同时查询条件任意)
- xcode 4.2 不再支持 Window-Based Application 的解决办法
- 黑马程序员 java基础回顾---网络编程
- android edittext inputType imeOptions 学习
- UML各种视图的简介
- 统计单词出现最多的个数
- 老码农教你学英语
- 关于信号量的初次尝试
- image/pjpeg和image/jpeg问题