IT Study/JSP

JSP - FrontController를 이용한 더보기 기능

hhyyyjun 2023. 1. 4. 23:54

FrontController 패턴을 이용하여 더보기 기능을 구현해보았다.

조건 - 모든 목록 출력 시 더보기 기능 비활성화

1. 게시판 VO 클래스에 메인 화면에서 보여줄 글의 개수를 담을 변수 cnt 설정

2. MainAction - 게시글 출력 수 지정

첫 메인화면으로 이동 시 cnt 파라미터 값을 paramCnt 객체에 저장

paramCnt가 null이거나 공백인 경우 cnt의 값을 2로 설정(2개씩 출력할 예정이다)

null 값이 아닌 경우(더보기 버튼을 통하여 url의 cnt값이 추가된 경우) 정수로 형변환하여 set

3. MainAction - 더보기 비활성화

1) 게시글과 게시글에서 N개의 댓글을 담을 VO 생성

2) 더보기 버튼을 클릭했을 때 2개씩 추가될 예정이므로 Cnt를 불러와 +2 해준다. => 다음에 추가될 Cnt 값을 미리 계산할 때 사용한다.

3) BoardSet을 배열 객체로 저장 => 다음에 추가될 Cnt 값과 배열의 길이 차이를 계산

4) 속성명 'noMoreContent'에 다음에 추가될 예정인 Cnt의 값과 현재 게시판 테이블에 저장된 데이터의 값의 차이가

2 이상인 경우(2개씩 출력하니까) true반환

2 미만인 경우 false 반환

4. Main.jsp(메인화면)

메인화면에서 속성명 'noMoreContent' 가 false 일 때(데이터가 존재하는 경우) 더보기 버튼 활성화

3번의 MainAction에서 true 값을 받을 시 비활성화 시켜 보이지 않는다.

결과

메인 화면

더보기 버튼 클릭 시

총 4개의 글이 출력되고 url에서 cnt의 값이 4인 것을 확인

더보기를 통해 목록 전체 출력 후 더보기 버튼이 비활성화된 것을 확인, url의 cnt값 확인