JSP+Servlet分页

来源:互联网 发布:拷贝文件夹到mac 编辑:程序博客网 时间:2024/06/06 11:01

1首先创建PageBean

public class PageBean<T> {
private int pc ;  //当前页 page current
private int tp ; //总页数 totalpage
private int tr ;  //总记录数tatal record 
private int ps ; //每页记录数 page size 
private List<T>  user ;//当前页的记录
public int getPc() {
return pc;
}
public void setPc(int pc) {
this.pc = pc;
}
public int getTp() {
//获得总页数
int tp = tr/ps ;
return tr%ps==0?tp:tp+1;
}
/* public void setTp(int tp) {
this.tp = tp;
}*/

public int getTr() {
return tr;
}
public void setTr(int tr) {
this.tr = tr;
}
public int getPs() {
return ps;
}
public void setPs(int ps) {
this.ps = ps;
}
public List<T> getUser() {
return user;
}
public void setUser(List<T> user) {
this.user = user;
}

2 Servlet处理

//获取页面传递的pc
public int getPc(HttpServletRequest request ){
String  value =request.getParameter("pc");
if(value==null||value.trim().isEmpty()){
return 1 ;
}
return Integer.parseInt(value) ;

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//首先我们要获得页面传递pc/pagecurrent,因为可能是第一页 也可能不是第一个页
 int pc = getPc(request);
 //设置每页显示多少条数据
 int  ps =2 ;
PageBean<User> listuser;
try {
listuser = userDao.findAll(pc,ps);
request.setAttribute("listuser", listuser);
request.getRequestDispatcher("mylist.jsp").forward(request, response);
} catch (SysException e) {

e.printStackTrace();
}
3实现

public class UserDaoImpl implements UserDao {
DBUtil db = new DBUtil();


@Override
public PageBean<User> findAll(int pc, int ps) throws SysException {
PageBean<User> pagebean = new PageBean<User>();
pagebean.setPc(pc);
pagebean.setPs(ps);
// 得到 总记录 tr
String sql = "select count(*) record from user ";
Object obj[] = null;
List<Map<String, String>> list = db.executeQuery(sql, obj);
for (int i = 0; i < list.size(); i++) {
Map<String, String> map = list.get(i);
int tr = Integer.parseInt(map.get("record"));
pagebean.setTr(tr);
}
String sql2 = "select * from user limit ?,?";
Object obj2[] = { (pc - 1) * ps, ps };

List<User> luser = new ArrayList<>();
List<Map<String, String>> list2 = db.executeQuery(sql2, obj2);
for (int i = 0; i < list2.size(); i++) {
Map<String, String> map = list2.get(i);
int id = Integer.parseInt(map.get("id"));
String username = map.get("username");
String password = map.get("password");
User user = new User();
user.setId(id);
user.setUsername(username);
user.setPassword(password);
luser.add(user);
pagebean.setUser(luser);
}
return pagebean;
}


}

0 0
原创粉丝点击