글 상세보기 페이지에 들어갔을때
자신이 쓴 글일때만 수정 삭제 버튼을 나오게 하려고 한다
기존 컨트롤러
현재 로그인 된 아이디와 글 작성한 아이디와 비교해서 버튼이 나타날 수 있게 하려고 함!
현재 로그인 된 아이디를 이곳 저곳에 쓸 일도 많고 (글 작성수정..로그아웃..회원정보 수정 등)
회원 로그인을 유지 시키기 위해 세션을 만들어 놨다
=> 컨트롤러에서 세션을 불러오고 view로 넘기기 위해서 모델에 세션을 담아 넘겨주자
(view로 넘기는 이유 : 수정삭제 버튼이 나타날건지 말건지는 view에서 처리할 수 있기때문에.. html의 영역이라)
기존에서 추가된 코드
String id = (String) session.getAttribute("id");
model.addAttribute("id", id);
(위에 컨트롤러 사진 참고)
글 작성한 아이디는 vo에 있다
vo 통째로 모델에 담아서 넘기기 때문에
view에서 사용할때는 ${vo.getId()} 하면 된다
이제 마지막 단계인 view페이지이다
우선 값들이 잘 넘어왔는지 확인해보자
로그인된 아이디 : ${id}
글 작성 아이디 : ${vo.getId()}
잘 넘어온 걸 확인할 수 있다~
나는 view를 타임리프로 이용하고 있기 때문에 타임리프 조건문을 쓸 것이다
조건문 사용은 간단했다 해당 태그 안에 th:if=""을 해주면 된다
현재 로그인한 아이디(id)와 글 작성 아이디(vo.getID)가 일치할때만 버튼이 나타나게 하는 조건문으로 작성했다
결과
비회원으로 게시글을 봤더니 해당 버튼이 안뜨는 것을 확인했다
끝~~!!!