-
05 게시판 읽기, 쓰기, 삭제, 수정 기능 구현(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 16. 23:22반응형
게시판 읽기, 쓰기, 수정, 삭제 구현
1) 기능별 URI 정의
>> URL : 전체 경로, URI : 일부 경로
2) 게시물 읽기 기능의 구현
2-1) 실습
BoardController.java( read메서드 추가)
board.jap(작성)
>> body부분만 가져왔고, 이전 boardList.jsp에서 테이블을 빼고 <form>을 추가
결과 확인
>> board.jsp의 <input> 속성값을 readonly로 했다
>> URL창에 bno값을 입력해야된다
3) 목록 버튼 구현
>> 목록에서 /board/list GET요청을 주면 처음 페이로 돌아간다
>> 목록으로 돌아갈 때, 처음으로 돌아가는게 아니라 보던 페이지로 돌아가도록 구현
3-1) 실습 (목록 버튼 구현)
boardList.jsp(테이블만 가져옴)
>> 게시판 title에 링크를 줘서 클릭하면 /read GET방식으로 들어갈 수 있도록 하였다
>> page와 pageSize를 받아서 → BoardController(/read)에 전달하면 → board.jsp에 전달한다
(목록 버튼을 클릭시, 보고있던 현제페이지로 돌아 갈 수 있도록 함)
BoardController.java(list메서드)
>> boardList.jsp에 page와 pageSize 값을 전달
BoardController.java(read메서드)
board.jsp
>> 목록 버튼을 클릭시 해당 url을 보여준다 (이전에 보고있던 페이지를 보여준다)
>> location은 주소창에 URL을 의미 (GET 방식)
※ 제이 쿼리를 사용하기 위해서는 밑에 링크가 필요하다
결과 확인
>> 목록 버튼을 누르면 이전에 보았던 페이로 돌아간다
4) 삭제 버튼 구현
4-1) 실습 (삭제 버튼 구현)
board.jsp
>> jquery로 삭제 버튼에 이벤트를 걸어준다
>> ①은 삭제 할 때, 알림창을 띄어준다
>> ②은 컨트롤러에 정보를 Post로 전달
BoardController.java(작성)
>> write 작성자를 현재 접속중인 user id를 가져와서 remove 실행
>> 삭제되었을 때, 이전에 보았던 페이지로 돌아가기위해 page와 pageSize를 받는다
model에 page와 pageSize를 넣어주면 redirect에서 자동으로 값을 넣어준다
>> ①은 삭제가 잘 처리되었을 때, 또는 예외(실패)일 때 알림창으로 알려줄 수 있도록 만들었다
>> ①의 값을 boardList.jsp에 전달하여 자바스크립트로 호출할 수 있도록 한다
※ RedirectAttributes
- RedirectAttribute 대신 model을 사용해서 redirect를 한다면?
새로고침 할 때마다 ①이 같이 실행된다
- RedirectAttribute rattr(변수)은 메시지가 한번만 나올 수 있도록 한다
rattr.addFlashAttribute는 세션을 이용해서 잠깐 저장되었다가 한번 하용되고 지워진다
boardList.jsp
>> BoardController.java에서 ${msg}의 값을 받아 alert으로 호출한다
>> 만약 model로 msg의 값을 받았다면? ${param.msg}로 값을 받아야한다
결과 확인
>> boardList.jsp에서 출력 되었다
>> 새로고침을 여러번 눌러도 1번 밖에 실행되지 않는다
>> a246번이 삭제되었다는걸 확인할 수 있다
반응형'Spring > 03 MyBatis로 게시판 만들기' 카테고리의 다른 글
07 게시판 검색 기능 추가하기(1) (0) 2023.07.21 06 게시판 읽기, 쓰기, 삭제, 수정 기능 구현(2) (0) 2023.07.18 04 게시판 목록 만들기와 페이징-TDD(2) (0) 2023.07.14 03 게시판 목록 만들기와 페이징-TDD(1) (1) 2023.07.13 02 MyBatis로 DAO작성하기 (0) 2023.07.11