分页的三要素
page 页码 视图层传递
rows 页大小 视图层传递
total 总记录数 后台查出
案例解析
2.1 entity类
package com.luojun.entity;
public class Book {
private int bid;
private String bname;
private float price;
@Override
public String toString() {
return "Book [bid=" + bid + ", bname=" + bname + ", price=" + price + "]";
}
public int getBid() {
return bid;
}
public void setBid(int bid) {
this.bid = bid;
}
public String getBname() {
return bname;
}
public void setBname(String bname) {
this.bname = bname;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public Book() {
}
public Book(int bid, String bname, float price) {
this.bid = bid;
this.bname = bname;
this.price = price;
}
}
2.2 Dao方法
package com.luojun.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.luojun.entity.Book;
import com.luojun.util.BaseDao;
import com.luojun.util.DBAccess;
import com.luojun.util.PageBean;
import com.luojun.util.StringUtils;
public class BookDao extends BaseDao<Book>{
public List<Book> list(Book book,PageBean pageBean) throws SQLException, InstantiationException, IllegalAccessException{
String sql = "select * from t_mvc_book where true";
String bname = book.getBname();
if(StringUtils.isNotBlank(bname)) {
sql +=" and bname like '%"+bname+"%' ";
}
return super.executeQuery(sql, Book.class, pageBean);
}
public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException {
BookDao bookDao = new BookDao();
Book book = new Book();
book.setBname("圣墟");
PageBean pageBean = new PageBean();
pageBean.setPage(2);
pageBean.setPagination(false);
List<Book> list = bookDao.list(book, pageBean);
for (Book b : list) {
System.out.println(b);
}
System.out.println(pageBean);
}
}
2.3 action 类
package com.luojun.web;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.luojun.dao.BookDao;
import com.luojun.entity.Book;
import com.luojun.util.PageBean;
@WebServlet(name="book",urlPatterns="/book.action")
public class BookAction extends HttpServlet{
private static final long serialVersionUID = 1L;
private BookDao bookDao = new BookDao();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Book book = new Book();
book.setBname(req.getParameter("bname"));
PageBean pageBean = new PageBean();
pageBean.setRequest(req);
try {
List<Book> list = this.bookDao.list(book, pageBean);
req.setAttribute("bookList", list);
req.setAttribute("pageBean",pageBean);
req.getRequestDispatcher("bookList.jsp").forward(req, resp);
} catch (InstantiationException