ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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방식으로 들어갈 수 있도록 하였다

    >> 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번이 삭제되었다는걸 확인할 수 있다

     

     

     

    반응형
Designed by Tistory.