small steps/1일 1코딩 - 코딩을 내 몸처럼
[1일1코딩][Web] 뷰단의 페이징 처리 코드
꿈꾸는개발자maker
2022. 7. 25. 15:46
728x90
페이징 처리(페이지네이션)
중간에 보고 있는 현재 번호(currentPage) 외에 이전(prev), 다음(next) 버튼이 따로 있고
이들은 currentPage번호보다 작거나 커야함
그리고 각각 1과 마지막 번호(maxPage)의 경우가 있어서 따로 <c:if>로 작성 해야하는 구조임. 구조파악 완료
<!-- 페이징 처리 -->
<tr align="center" height="20" id="buttonTab">
<td colspan="6">
<!-- [이전] -->
<c:if test="${ pi.currentPage <= 1 }">
[이전] <!-- 1페이지에서만 나오는 기호 설정. 마찬가지로 마지막페이지에서 나오는 기호도 따로 지정해줘야함 -->
</c:if>
<c:if test="${ pi.currentPage > 1 }">
<c:url var="before" value="blist.bo">
<c:param name="page" value="${ pi.currentPage - 1 }"/>
</c:url>
<a href="${ before }">[이전]</a>
</c:if>
<!-- 페이지 번호 -->
<c:forEach var="p" begin="${ pi.startPage }" end="${ pi.endPage }">
<c:if test="${ p eq pi.currentPage }">
<font color="red" size="4"><b>[${ p }]</b></font>
</c:if>
<c:if test="${ p ne pi.currentPage }">
<c:url var="pagination" value="blist.bo">
<c:param name="page" value="${ p }"/>
</c:url>
<a href="${ pagination }">${ p }</a>
</c:if>
</c:forEach>
<!-- [다음] -->
<c:if test="${ pi.currentPage >= pi.maxPage }">
[다음] <!-- 마지막 페이지에서만 나오는 기호 설정. 마찬가지로 첫페이지에서 나오는 기호도 따로 지정해줘야함 -->
</c:if>
<c:if test="${ pi.currentPage < pi.maxPage }">
<c:url var="after" value="blist.bo">
<c:param name="page" value="${ pi.currentPage + 1 }"/>
</c:url>
<a href="${ after }">[다음]</a>
</c:if>
</td>
</tr>
728x90
반응형