게시판을 만들다 보면 게시글 번호를 가져야 되는데 

PRIMARY KEY, AUTO_INCREMENT 가진 컬럼으로 지정 할 경우 

게시물이 삭제 되면 그 번호가 없는 게시판이 출력이 되게 된다.

 

게시물이 삭제가 되도 번호는 순서대로 유지되게 하려면 일단 컨트롤러에서 코드 작성이 필요

 

예 ) 게시물이 34개인 출력은 10개 총 페이지 갯수는 4페이지인 경우

1페이지에서는 34 ~ 25 번호

2페이지에서는 24 ~ 15 번호

3페이지에서는 14 ~ 5 번호

4페이지에서는 4 ~ 1 번호

이렇게 출력이 되야 된다.

 

int p1 = total - 0;
int p2 = total - 10;
int p3 = total - 20;
int p4 = total - 30;

 

이렇게 페이지마다 첫번째 값을 구하는 규칙적인 계산식이 나오게 된다.

 

최종적으로

 

1pge인 경우
int startRowNo = total - (1-1)*10;
2pge인 경우
int startRowNo = total - (2-1)*10;
1, 2는 viewPage 현재 보고 있는 페이지 번호로 설정 하면 된다.

int startRowNo = total - (viewPage - 1)*unit;

unit은 보여줄 게시물 갯수

 

model.addAttribute("rowNumber", startRowNo); JSP에 보내기

 

JSP 코드 (JSTL)

	<c:set var="cnt" value="${rowNumber }" /> <!-- 번호에서 사용 할 변수 -->
		
	<c:forEach var="result" items="${resultList }">
		<tr align="center">
			<td width="15%"><c:out value="${cnt }" /></td>
			<td align="left" width="40%"><c:out value="${result.title }" /></td>
			<td width="15%"><c:out value="${result.name }" /></td>
			<td width="15%"><c:out value="${result.rdate }" /></td>
			<td width="15%"><c:out value="${result.hits }" /></td>
		</tr>
		
	<c:set var="cnt" value="${cnt-1 }" /> 
	
	</c:forEach>

 

'전자정부프레임워크' 카테고리의 다른 글

상세보기 + 조회수  (0) 2024.01.06
검색 기능 + 페이징 처리  (1) 2024.01.06
오라클, MySQL 페이징 쿼리문 + iBATIS  (0) 2024.01.05
log4j2.xml  (2) 2024.01.04
패키지 등록  (1) 2024.01.02

+ Recent posts