今天做了一个分页和一个搜索
由于有该项目里很多网页有分页的操作所以写 一个工具类来写分页的操作,分页工具类代码如下
package tool;
public class PageUtil {
private int total;//一共多少条---通过条件查出来的并赋值
private int pageSize=2;//一页的条数----可以随意赋值
private int totalPage = 1;//一共多少页-----通过使用变量total算法get
private int currPage = 1;//当前页----通过JSP代码获得
private int firstCurrTnum = 0;//当前第一条 条数----通过当前页用算法get
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalPage() {
if(total%pageSize==0){
totalPage = total/pageSize;
}else{
totalPage = total/pageSize+1;
}
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public int getFirstCurrTnum() {
firstCurrTnum = (currPage-1)*pageSize;
return firstCurrTnum;
}
public void setFirstCurrTnum(int firstCurrTnum) {
this.firstCurrTnum = firstCurrTnum;
}
/**
* 得到分页的Html
* @return
*/
public String getHtml(){
StringBuffer buffer = new StringBuffer();
buffer.append("<table width=\"90%\" align=\"center\" style=\"padding-right:40px;\">");
buffer.append("<tr><td align=\"right\">共"+getTotal()+"条,"+getTotalPage()+"页,当前第"+getCurrPage()+"页 ");
buffer.append("<a href=\"DeptSerlet?currPage=1\">首页 </a>");
if(getCurrPage()==1){
buffer.append("<a href='DeptSerlet?currPage=1'> 上一页</a>");
}else{
buffer.append("<a href='DeptSerlet?currPage="+(getCurrPage()-1)+"'> 上一页</a>");
}
if(currPage==totalPage){
buffer.append("<a href='DeptSerlet?currPage="+getTotalPage()+"'> 下一页</a>");
}else{
buffer.append("<a href='DeptSerlet?currPage="+(getCurrPage()+1)+"'> 下一页</a>");
}
buffer.append("<a href=\"DeptSerlet?currPage="+getTotalPage()+"\">尾页</a> </td></tr></table>");
return buffer.toString();
}
}
Serlet查询代码如下:
//搜索
DeptService deptService = new DeptService();//部门服务类
PageUtil pageUtil = new PageUtil();//分页工具类
search = request.getParameter("search");
//一共多少条
pageUtil.setTotal(deptService.countAllDept(search));
//当前第几页
int currPage = 1;//默认是第一页
if(request.getParameter("currPage")!=null){
currPage = Integer.valueOf(request.getParameter("currPage"));
pageUtil.setCurrPage(currPage);
}
List<Dept> list = deptService.getAllDepts(pageUtil.getPageSize(),pageUtil.getFirstCurrTnum(),search);
request.setAttribute("page", pageUtil.getHtml());
request.setAttribute("deptList",list);
skip(request, response);