对List(或DTO)进行分页查询

package org.wahshing.web;

import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.wahshing.model.StoreSearch;
import org.wahshing.server.DataBase2;

public class ItemSearch extends DataBase2 {



 
 public void process(HttpServletRequest request,
   HttpServletResponse response) {
  // TODO Auto-generated method stub
  
  List list4=new ArrayList();
  String forward = null;
  List list=new ArrayList();
  int totalRecord = 0;
  int totalPage = 0;
  int pageIndex = 0;
  int currentPage = 0;
  int a = 0;
  int getCurrentPage = 0;
  StoreSearch ss=null;
  String getParam=request.getParameter("param");
  
  HttpSession session=request.getSession();
 
  if(getParam.equals("a")){
   String getFpno=request.getParameter("fpno");
   String getFdesc=request.getParameter("fdesc");
   ItemSearchDAO isDAO=new ItemSearchDAO();
   list=isDAO.itemSearch(getFpno, getFdesc);
   session.setAttribute("itemList", list); 
  }else if(getParam.equals("b")){
   list=(List)session.getAttribute("itemList");
  }
  
  totalRecord = list.size();
  String tag = request.getParameter("count");
  int showRecordNum=10;
  if (totalRecord % showRecordNum != 0) {
   totalPage = totalRecord / showRecordNum + 1;
  } else {
   totalPage = totalRecord / showRecordNum;
  }

  if (tag == null || tag.equalsIgnoreCase("0")) {
   if(totalRecord==0){
    currentPage = 0; 
   }else {
    currentPage = 1; 
   }
   
   if(totalRecord<showRecordNum * currentPage){  
    a=totalRecord;
   }else {  
    a = showRecordNum * currentPage;
   }
   
  } else if (tag.equalsIgnoreCase("first")) {
   getCurrentPage = Integer.parseInt(request
     .getParameter("getCurrentPage"));
   if(getCurrentPage==0){
    currentPage = 0;
    a = showRecordNum * currentPage;
   }else { 
    currentPage = 1;
    if(totalRecord>showRecordNum*currentPage){
     a=showRecordNum * currentPage;
    }else{
     a = totalRecord;
    }
   }
  } else if (tag.equalsIgnoreCase("up")) {
   getCurrentPage = Integer.parseInt(request
     .getParameter("getCurrentPage"));
   currentPage = getCurrentPage - 1;
   if (currentPage == 0) {
    if(totalRecord==0){
     currentPage = 0;
    }else {
     
     currentPage = 1;
    }
    if(totalRecord>showRecordNum*currentPage){
     a=showRecordNum * currentPage;
    }else{
     a = totalRecord;
    }
   } else {
    currentPage = getCurrentPage - 1;
    a = showRecordNum * currentPage;
   }
  } else if (tag.equalsIgnoreCase("down")) {
   getCurrentPage = Integer.parseInt(request
     .getParameter("getCurrentPage"));
   currentPage = getCurrentPage + 1;
   if (currentPage >= totalPage) {
    currentPage = totalPage;
    a = totalRecord;
   } else {
    a = showRecordNum * currentPage;
   }
  } else if (tag.equalsIgnoreCase("last")) {
   currentPage = totalPage;
   a = totalRecord;
  }
  
  
  
  if(currentPage==0){
   
  }else if(currentPage==-1){
   currentPage=0;
   
  }else {

   for (int i = showRecordNum * (currentPage - 1); i < a; i++) {
    ss = (StoreSearch) list.get(i);
    list4.add(ss);
    
   }
   
  }
   request.setAttribute("itemList4", list4);
   request.setAttribute("itemtotalPage", new Integer(totalPage));
   request.setAttribute("itemcurrentPage", new Integer(currentPage));
  }
  
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值