java 三层架构 实现数据的显示和分页功能

部分参考代码,全部代码点击这里下载

package cn.itcast.web;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;

import cn.itcast.bean.Company;
import cn.itcast.bean.PageBean;
import cn.itcast.bean.QueryResult;
import cn.itcast.bean.SearchCompany;
import cn.itcast.dao.impl.CompanyDaoImpl;

@SuppressWarnings("serial")
public class ListConditionServlet extends HttpServlet {

 //设置每页显示的最大记录数
 private int maxSize=3;
 
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  request.setCharacterEncoding("utf-8");
  response.setContentType("text/html;charset=utf-8");
  
  //设置当前要显示的页面 默认值1;
  int curPage=2;
  
  String scurPage=request.getParameter("curPage");
  if(StringUtils.isNotBlank(scurPage)){
   curPage=Integer.parseInt(scurPage.trim());
  }
/*************************************************************************************************************/ 
  //计算开始查询开始的索引值
  Integer beginIndex=(curPage-1)*maxSize;
/*************************************************************************************************************/  
  /*
   * 点击 "左侧菜单  带条件的客户信息查询 "此时没有查询条件
   * searchCompany 属性cname  jobname为null,相当于没有查询条件
   */
  SearchCompany searchCompany=new SearchCompany();

  /*
   *  <!-- 隐藏域 false:表示点击的是上页下页   true:表示点击的是 "搜索" 按钮 -->
            <input type="hidden"  name="flag" id="flag"  value="true" >
   */
  String flag=request.getParameter("flag");
  
  //表示点击的是 "搜索" 按钮
  if(StringUtils.isNotBlank(flag)&&"true".equals(flag)){
   searchCompany.setCname(request.getParameter("cname"));
   searchCompany.setJobname(request.getParameter("jobname"));
   
  }
  
  //表示点击的是 上页 下页   此时读取的是隐藏域的值
  if(StringUtils.isNotBlank(flag)&&"false".equals(flag)){
   searchCompany.setCname(request.getParameter("old_cname"));
   searchCompany.setJobname(request.getParameter("old_jobname"));
  }
  
  request.setAttribute("searchCompany", searchCompany);
  
  //如果flag为空,不用管,
  
/*************************************************************************************************************/   
  //开始查询
  CompanyDaoImpl companyDao=new CompanyDaoImpl();
  QueryResult<Company>  qr=companyDao.findCompanysByCondition(beginIndex, maxSize,searchCompany);
  request.setAttribute("companys", qr.getList());
  
  
  //处理分页
  PageBean pageBean=new PageBean();
  pageBean.init(curPage, maxSize, qr.getRecord());
  request.setAttribute("pageBean", pageBean);

  
  request.getRequestDispatcher("/company/listCondition.jsp").forward(request, response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doGet(request, response);
 }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值