以下是最簡(jiǎn)單的分頁(yè)(一個(gè)方法搞定):

創(chuàng)新互聯(lián)建站主營(yíng)雙峰網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開(kāi)發(fā),雙峰h5小程序開(kāi)發(fā)搭建,雙峰網(wǎng)站營(yíng)銷推廣歡迎雙峰等地區(qū)企業(yè)咨詢
首先是方法:
//用于按照頁(yè)數(shù)和每頁(yè)顯示的記錄數(shù)進(jìn)行圖書(shū)查詢
public List getBookList(int page,int pageSize)throws Exception{
List list=new ArrayList();
Connection conn=this.getConn();
String sql="select top "+page+" * from bookInfo " +
"where bookId not in" +
"(select top "+((pageSize-1)*page)+" bookId from bookInfo)";
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
//每條數(shù)據(jù)對(duì)應(yīng)一個(gè)實(shí)體類
BookInfo book=new BookInfo();
book.setBookId(rs.getInt("bookId"));
book.setBookName(rs.getString("bookName"));
book.setBookType(rs.getString("bookType"));
book.setBookStatus(rs.getString("bookStatus"));
list.add(book);
}
this.closeAll(conn, pstmt, rs);
return list;
}
2:JSP頁(yè)面代碼:
%@ page language="java" import="java.util.*,entity.*,operator.*" pageEncoding="gbk"%
html
head
/head
body
table border="1"
tr
td width="150"圖書(shū)名稱/td
td width="100"類別/td
td width="100"狀態(tài)/td
/tr
%
request.setCharacterEncoding("gbk");
int pageNum=1;
String pageStr=request.getParameter("pageNum");
if(pageStr==null){
pageNum=1;
}else{
pageNum=Integer.parseInt(pageStr);
}
Operator o=new Operator();
List list=o.getBookList(6,pageNum);
for(int i=0;ilist.size();i++){
BookInfo book=(BookInfo)list.get(i);
%
tr
td%=book.getBookName() %/td
td%=book.getBookType() %/td
td%=book.getBookStatus() %/td
/tr
%
}
%
tr
td colspan="3"a href="infoList.jsp?pageNum=%=pageNum==1?pageNum:pageNum-1%"上一頁(yè)/a ||
a href="infoList.jsp?pageNum=%=list.size()6?pageNum:pageNum+1 %"下一頁(yè)/a/td//二元運(yùn)算符,相當(dāng)于if判斷 上一頁(yè)時(shí)如果當(dāng)前頁(yè)=1為true,就是當(dāng)前頁(yè),否則還可以減1
//下一頁(yè)如果當(dāng)前頁(yè)的size小于你的每一頁(yè)設(shè)置的條數(shù)為true,那么就是是當(dāng)前頁(yè),否則就+1;
/tr
/table
/body
/html
nowpage 默認(rèn)是 request 作用范圍的 在作為 servlet類里 應(yīng)該 request.setRequest("nowpage",相應(yīng)大變量);
page類
public class PageModel {
private int totalCount = 0;// 總記錄數(shù)
private int pageCount;// 總頁(yè)數(shù)
private int pageSize = 10;// 每頁(yè)顯示記錄數(shù)
private int page = 1;// 當(dāng)前頁(yè)
private int num = 5;// 當(dāng)前頁(yè)之前和之后顯示的頁(yè)數(shù)個(gè)數(shù) 如:假設(shè)當(dāng)前頁(yè)是 6 共有11頁(yè) 那么 顯示分頁(yè)條會(huì)顯示 1 2 3 4
// 5 [6] 7 8 9 10 11
@SuppressWarnings("unchecked")
private List items = new ArrayList();// 當(dāng)前頁(yè)記錄內(nèi)容集合
private int prev;// 前一頁(yè)
private int next;// 后一頁(yè)
private int last;// 最后一頁(yè)
private ListInteger prevPages;// 得到前num頁(yè)的數(shù)據(jù)集合
private ListInteger nextPages;// 得到后num頁(yè)的數(shù)據(jù)集合
/**
* 計(jì)算總頁(yè)數(shù)
*
* @param totalCount
*/
public void setTotalCount(int totalCount) {
if (totalCount 0) {
this.totalCount = totalCount;
this.pageCount = (totalCount + pageSize - 1) / pageSize;
}
}
/**
* 判斷是否有前一頁(yè)
*
* @return boolean
*/
public boolean getIsPrev() {
if (page 1) {
return true;
}
return false;
}
/**
* 獲取前一頁(yè)
*
* @return int
*/
public int getPrev() {
if (getIsPrev()) {
return page - 1;
} else {
return page;
}
}
/**
* 判斷是否有后一頁(yè)
*
* @return boolean
*/
public boolean getIsNext() {
if (page pageCount) {
return true;
}
return false;
}
/**
* 獲取后一頁(yè)
*
* @return int
*/
public int getNext() {
if (getIsNext()) {
return page + 1;
}
return getPageCount();
}
/**
* 獲取最后一頁(yè)
*
* @return int
*/
public int getLast() {
return pageCount;
}
/**
* 當(dāng)前頁(yè)的前num條頁(yè) 假設(shè)當(dāng)前頁(yè)是 6 共有11頁(yè) 如:1 2 3 4 5
*
* @return ListInteger
*/
public ListInteger getPrevPages() {
ListInteger list = new ArrayListInteger();
int _frontStart = 1;
if (page num) {
_frontStart = page - num;
} else if (page = num) {
_frontStart = 1;
}
for (int i = _frontStart; i page; i++) {
list.add(i);
}
return list;
}
/**
* 當(dāng)前頁(yè)的后num條頁(yè) 假設(shè)當(dāng)前頁(yè)是 6 共有11頁(yè) 如:7 8 9 10 11
*
* @return ListInteger
*/
public ListInteger getNextPages() {
ListInteger list = new ArrayListInteger();
int _endCount = num;
if (num pageCount (page + num) pageCount) {
_endCount = page + _endCount;
} else if ((page + num) = pageCount) {
_endCount = pageCount;
}
for (int i = page + 1; i = _endCount; i++) {
list.add(i);
}
return list;
}
/**
* 獲取每頁(yè)顯示記錄數(shù)
*
* @return int
*/
public int getPageSize() {
return pageSize;
}
/**
* 設(shè)置每頁(yè)顯示記錄數(shù)
*
* @param pageSize
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* 得到當(dāng)前頁(yè)數(shù)
*
* @return int
*/
public int getPage() {
return page;
}
/**
* 設(shè)置當(dāng)前頁(yè)數(shù)
*
* @param page
*/
public void setPage(int page) {
this.page = page;
}
/**
* 獲取當(dāng)前頁(yè)之前或之后顯示的頁(yè)數(shù)個(gè)數(shù)
*
* @return int
*/
public int getNum() {
return num;
}
/**
* 設(shè)置當(dāng)前頁(yè)之前或之后顯示的頁(yè)數(shù)個(gè)數(shù)
*
* @param num
*/
public void setNum(int num) {
this.num = num;
}
/**
* 獲取當(dāng)前頁(yè)記錄內(nèi)容集合
*
* @return List
*/
@SuppressWarnings("unchecked")
public List getItems() {
return items;
}
/**
* 設(shè)置當(dāng)前頁(yè)記錄內(nèi)容集合
*
* @param items
*/
@SuppressWarnings("unchecked")
public void setItems(List items) {
this.items = items;
}
/**
* 獲取總記錄數(shù)
*
* @return int
*/
public int getTotalCount() {
return totalCount;
}
/**
* 得到總頁(yè)數(shù)
*
* @return int
*/
public int getPageCount() {
return pageCount;
}
}
action代碼:
PageModel pageModel = new PageModel();
// 獲得當(dāng)前頁(yè)
if (page != 0) {
pageModel.setPage(page);
}
pageModel.setPageSize(10);// 設(shè)置頁(yè)面顯示最大 值
pageModel.setTotalCount(baseDAO.listAll("from Art where arttype.id=10 and mark=0 order by id desc")); // 數(shù)據(jù)總條數(shù)
pageModel.setNum(5); // 設(shè)置當(dāng)前頁(yè)的前后距離,/**前后各顯示5頁(yè)**/
// 通過(guò)當(dāng)前頁(yè)和
ListArt aboutList = baseDAO.listAll("from Art where arttype.id=10 and mark=0 order by id desc", pageModel.getPage(),pageModel.getPageSize());
pageModel.setItems(aboutList);
request.setAttribute("count", aboutList.size());// 放置在request中
request.setAttribute("pageModel", pageModel);
request.setAttribute("page", pageModel.getPage());
jsp代碼
c:forEach var = "i" items="${requestScope.pageModel.items}" varStatus="items"
li/li
/c:forEach
div class="badoo"span class="disabled"第${pageModel.page}頁(yè)/共${pageModel.pageCount}頁(yè)/span a href="${pageuri}page=1"首頁(yè)/a
c:if test="${pageModel.page1}"
a href="${pageuri}page=${pageModel.prev}"上一頁(yè)/a
/c:if
c:forEach var="pre" items="${pageModel.prevPages }"
a href="${pageuri}page=${pre }"${pre}/a
/c:forEach
span class="current"${pageModel.page }/span
c:forEach var="next" items="${pageModel.nextPages }"
a href="${pageuri}page=${next }"${next}/a
/c:forEach
c:if test="${pageModel.pagepageModel.last}"
a href="${pageuri}page=${pageModel.next}"下一頁(yè)/a
/c:if
a href="${pageuri}page=${pageModel.last}"尾頁(yè)/a/div
如有不懂可以找我QQ聊
網(wǎng)站題目:jsp和java分頁(yè)代碼,javaweb分頁(yè)查詢
文章轉(zhuǎn)載:http://chinadenli.net/article30/dsejeso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信小程序、定制開(kāi)發(fā)、服務(wù)器托管、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)