posts - 165, comments - 198, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

分页 乱码问题(解决)

Posted on 2008-04-01 16:13 G_G 阅读(2084) 评论(1)  编辑  收藏 所属分类: JspTag
上一个blog中 粗略的使用了下分页标签使用 pg
使用问题还是有很多 如 分页中乱码、多java代码块
下面用一个 <jsp:include >来解决这些问题。
    <!-- 使用写好的分页jsp 当中需要参数为 count 总结果个数 / maxPageItems(可选默认10)页面显示行数 / goUrl (可选默认本页) 跳转路径 /  params  request中参数 应为乱码问题 传给下一个页面 需要使用URLDecoder.decode(...) 如:String productName = URLDecoder.decode( request.getParameter("productName")==null?"":request.getParameter("productName"),"utf8" );
     
    -->

    <jsp:include page="../jspUtil/page.jsp">
        
<jsp:param name="count" value="<%=OrderServiceImp.getOrdersCount(beginTime,endTime,userName,companyName,productName,null,zq)%>"  />
            
<jsp:param name="maxPageItems" value="10" />
        
            
<jsp:param name="goUrl" value="/zhongqi/seleProduct.do" />
        
        
<jsp:param name="params" value="beginTime" />
        
<jsp:param name="params" value="endTime" />
        
<jsp:param name="params" value="userName" />
        
<jsp:param name="params" value="companyName"/>
        
<jsp:param name="params" value="productName" />
        
    
</jsp:include>

page.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.net.URLEncoder"%>
<%@page import="java.net.URLDecoder"%>
<%@ taglib prefix="pg" uri="/WEB-INF/pager-taglib.tld" %>

<%
    int 
count = Integer.parseInt( request.getParameter("count") );
    int maxPageItems 
= Integer.parseInt( request.getParameter("maxPageItems")==null?"10":request.getParameter("maxPageItems") );
    
    //参数设置 <jsp:param name
="params" value="xx"  />
    String[] params = (String[])request.getParameterMap().get("params");
    
    String goUrl = request.getParameter("goUrl");
    
%>
<div id="bgee">
<div align="center">
<pg:pager
  
id="pager"
  url
="<%=goUrl%>"
  items
='<%=count%>'
  
maxPageItems="<%=maxPageItems %>"
  export
="offset,currentPageNumber=pageNumber"
  isOffset
="false"
  scope
="request">
  
   <
    for
( String str : params ) {
        if (request.getParameter(str) !
= null && !request.getParameter(str).equals("")) {%>
                
<pg:param name="<%=str %>" value='<%= URLEncoder.encode( URLDecoder.decode(request.getParameter(str),"utf-8"),"utf-8")%>'/>
        
<% }
    }%
>



<pg:index>
<pg:prev ifnull="true">
<span>
      
<% if (pageUrl != null) { %>
        
<HREF="<%= pageUrl %>">&lt; 上一页</A>
      
<% } %>
</span>
</pg:prev>

  
<pg:pages export="pageUrl, pageNumber">
<% if (pageNumber == currentPageNumber) { %>
 
<span><%= pageNumber %></span>
<%} else {%>
 
<href='<%=pageUrl%>'><%= pageNumber %></a>
<%}%>
</pg:pages>
<pg:next ifnull="true">
<% if (pageUrl != null) { %>
  
<href='<%=pageUrl%>'>下一页 &gt;</a>
<%}%>
</pg:next>
</pg:index>
</pg:pager>
    
</div>
</div>







评论

# re: 分页 乱码问题(解决)  回复  更多评论   

2008-11-11 10:30 by 上了
不行啊,pg:param 里面的value值又被编了一次,把%符号转成%25。

只有注册用户登录后才能发表评论。


网站导航: