view페이지를 구성하는데 필요한 것을 생각해보자.
- 테이블단에서 글 제목을 클릭했을 때 view로 매핑되어 있는 서블릿으로 글번호 컬럼인
id
값과 함께 링크를 걸어 이동할 수 있도록 한다.
- view컨트롤러에서
view
이름의 리스트를 받아와서 해당 위치에 각각의 데이터를 뿌려준다.- 수정과 삭제버튼은 jstl의 if문을 이용하여 현재 페이지의 session에 저장된 아이디 값과 해당 글의 작성자 아이디값이 동일한지 비교한 후 같으면 수정, 삭제 버튼이 나타나도록 구현했다.
그렇다면 해당 view페이지에 리스트를 넘겨줄 컨트롤러를 보자.
table
페이지에서 받아온id
를 데이터베이스에 연결해주는 인스턴스 vd의 함수getView
에 넣어 데이터타입이ViewEntity
로 구성된 리스트를 받아온다.
- 받아온
ViewEntity
로 구성된 리스트를 view페이지에 넘겨준다.
- 해당 글번호인
id
값을 통해 해당 데이터를 가져오도록 sql문 설정.
- sql문에
id
값 하나만 꽂아넣고 그 결과값을 담은ResultSet
객체인 rs를 데이터베이스 값에서 부터 엔티티값으로 바꿔주는getViewFromDataBaseEntity
에 넣는다.
- 해당 id값은 게시글 마다 고유의 값이기 때문에 한번만 탐색해도 괜찮으므로 한번만 탐색한 후
ViewEntity
데이터타입의 리스트에 담아준다.
예를 들어 아이디 rlawldls11
로 로그인 했을때
작성자가 bmm522이므로 수정 삭제버튼이 안나온다.
세션의 아이디 값과 해당 글 작성자의 값이 같으므로 수정 삭제 버튼까지 나오는 것을 볼 수 있다.