servletによるページング
12194 ワード
一、まず改ページする内容を検索する.セッションで保存
二、ページをクリックするたびに、現在何ページ目であるかを知るため、この変数をセッションに格納する
三、全部で何ページのmaxPageがあるかを求めて、検索したすべてのデータの条数とあなたが自分で設定した各ページの条数を計算しますページデザイン(JSPで実装)ページデザインでは、変数、すなわち現在の数ページ目のこの変数 を渡すだけです.
a.1ページ目の処理時に前のページをクリックできない
b.最後のページは次のページをクリックできません具体的な実装コードは以下の である.
1.servlet部分
2.ページ部分
request.setAttribute("content",lst);
二、ページをクリックするたびに、現在何ページ目であるかを知るため、この変数をセッションに格納する
request.setAttribute("pageNum",pageNum);//pageNum
三、全部で何ページのmaxPageがあるかを求めて、検索したすべてのデータの条数とあなたが自分で設定した各ページの条数を計算します
if (pageCount % 4 == 0) {
maxPage = pageCount / 4;//pageCount = lst.size();lst
} else {
maxPage = pageCount / 4 + 1;
}
request.setAttribute("pageNum",pageNum);//maxPage
pageNum = ${pageNum+1}
pageNum = ${pageNum+1}
pageNum = ${0}
pageNum = ${maxPage-1}
a.1ページ目の処理時に前のページをクリックできない
if test="${pageNum>0}">
「GoodsServicelet?pageNum=${pageNum-1}」>[ ページ]
if>
if test="${pageNum==0}">[ ] if>
b.最後のページは次のページをクリックできません
if test="${pageNum" >
"GoodsServlet?pageNum=${pageNum+1 }">[ ]
if>
if test="${pageNum==maxPage-1}">[ ] if>
1.servlet部分
List lst = (List) request.getAttribute("goods");//
// , , OK
if (lst == null) {
GoodsImpl g = new GoodsImpl();
lst = g.findAll();
}
//
String strNum = request.getParameter("pageNum");
int pageNum = 0;//
int maxPage = 0;//
int pageCount = lst.size();//
// ,
if (strNum == null) {
strNum = "0";
} else {// (pageNum)
pageNum = Integer.parseInt(strNum);
}
//
if (pageCount % 4 == 0) {
maxPage = pageCount / 4;
} else {
maxPage = pageCount / 4 + 1;
}
request.setAttribute("maxPage", maxPage);//
request.setAttribute("pageNum", pageNum);// ,
request.setAttribute("goods", lst);//
request.getRequestDispatcher("/index.jsp").forward(request, response);
2.ページ部分
<table align="center" border="0" width="85%">
<tr bgcolor="#6699FF" width="30">
<td> td>
<td> td>
<td> td>
<td> td>
tr>
<c:forEach var="g" items="${goods}" begin="${pageNum*4}" end="${(pageNum+1)*4-1}">
<tr bgcolor="#DDDDDD" width="410">
<td>${g.gId }td>
<td>${g.sName }td>
<td><img src="${g.sImage }" width="78" height="120"/>td>
<td>${g.sPrice }td>
tr>
c:forEach>
<tr bgcolor="#6699FF" width="30">
<td colspan="4">
<a href="1">[ ]a>
<c:if test="${pageNum>0}">
<a href="GoodsServlet?pageNum=${pageNum-1 }">[ ]a>
c:if>
<c:if test="${pageNum==0}">
[ ]
c:if>
<c:if test="${pageNum>
<a href="GoodsServlet?pageNum=${pageNum+1 }">[ ]a>
c:if>
<c:if test="${pageNum==maxPage-1}">
[ ]
c:if>
<a href="GoodsServlet?pageNum=${maxPage-1 }">[ ]a>
td>
tr>
table>