Spring/03 MyBatis로 게시판 만들기

05 게시판 읽기, 쓰기, 삭제, 수정 기능 구현(1)

라타노 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방식으로 들어갈 수 있도록 하였다

>> pagepageSize를 받아서 BoardController(/read)에 전달하면 board.jsp에 전달한다

     (목록 버튼을 클릭시, 보고있던 현제페이지로 돌아 갈 수 있도록 함)

 

 

BoardController.java(list메서드)

>> boardList.jsppagepageSize 값을 전달

 

 

BoardController.java(read메서드)

 

board.jsp

>> 목록 버튼을 클릭시 해당 url을 보여준다 (이전에 보고있던 페이지를 보여준다)

>> location은 주소창에 URL을 의미 (GET 방식)

 

제이 쿼리를 사용하기 위해서는 밑에 링크가 필요하다

 

 

결과 확인

>> 목록 버튼을 누르면 이전에 보았던 페이로 돌아간다

 

 

 

 

4) 삭제 버튼 구현

 

4-1) 실습 (삭제 버튼 구현)

board.jsp

>> jquery로 삭제 버튼에 이벤트를 걸어준다

>> 은 삭제 할 때, 알림창을 띄어준다

>> 은 컨트롤러에 정보를 Post로 전달

 

 

 

BoardController.java(작성)

>> write 작성자를 현재 접속중인 user id를 가져와서 remove 실행

>> 삭제되었을 때, 이전에 보았던 페이지로 돌아가기위해 pagepageSize를 받는다

      modelpagepageSize를 넣어주면 redirect에서 자동으로 값을 넣어준다

>> 은 삭제가 잘 처리되었을 때, 또는 예외(실패)일 때 알림창으로 알려줄 수 있도록 만들었다

>> 의 값을 boardList.jsp에 전달하여 자바스크립트로 호출할 수 있도록 한다

 

 

RedirectAttributes

- RedirectAttribute 대신 model을 사용해서 redirect를 한다면?

새로고침 할 때마다 이 같이 실행된다

 

- RedirectAttribute rattr(변수)은 메시지가 한번만 나올 수 있도록 한다

rattr.addFlashAttribute는 세션을 이용해서 잠깐 저장되었다가 한번 하용되고 지워진다

 

 

 

boardList.jsp

>> BoardController.java에서 ${msg}의 값을 받아 alert으로 호출한다

>> 만약 modelmsg의 값을 받았다면? ${param.msg}로 값을 받아야한다

 

 

결과 확인

>> boardList.jsp에서 출력 되었다

>> 새로고침을 여러번 눌러도 1번 밖에 실행되지 않는다

>> a246번이 삭제되었다는걸 확인할 수 있다

 

 

 

반응형