分页乱码问题(解决)

上一个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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值