CRUD를 사용해 게시판 만들기(5) 글 수정 삭제 만들기

이제 게시글의 수정과 삭제에 대해 알아보자.

게시글의 수정과 삭제버튼은 보통 게시글을

상세볼수있는 페이지에 위치한다 또한 다시 목록으로 갈수있도록

"목록으로" 버튼도 존재한다.


일단 상세보기 페이지에서

목록으로, 삭제, 수정 버튼을 만들어주자.



이제 스크립트단안에 detailForm이라는 클래스를

하나 만들어준다음 버튼이 눌려질때마다 

각 컨트롤러로 이동될수 있도록 해주자.


다음 상세보기 페이지에서

form태그에 id값을 달아준다음. form태그가 submit될때

글 번호도 같이 submit될수 있도록

input태그를 사용해 글번호를 적어주자.

화면상에 보여질 필요는 없으니 타입을 hidden으로 주자.




이제 컨트롤러에서 글수정 form 을 위한 맵핑을 시켜준다음

글수정 폼으로 갈수있도록 리턴해주자.

boardService.detailBoard도 mvc해주자




다음 detailBoard 쿼리문을 작성하자




이제 디테일 페이지에서 글 수정 버튼을 누르면

글수정폼으로 이동될것이다.


이제 글수정폼 페이지에서 글수정 등록 버튼과 취소버튼을 만들자



다음 글 수정 form태그에 id를 설정 한다음.

작성자 작성일 제목 글내용을 불러오자.

여기서도 이전과 마찬가지로 boardno를 hidden으로 넣어줬다.

readonly는 작성자와 작성일을 수정할수 없도록 하기위해 설정했다




다음 스크립트단을 아래와 같이 만들어서

취소버튼을 누르면 이전페이지로 갈수 있도록 하고

수정 버튼을 누르면 새로 수정한 글 내용과 제목이

정상적으로 수정 될 수 있도록 컨트롤러로 갈수있게 하자.




이제 글수정 폼 에서 온 데이터들을

boardService.modifyBoardList(boardVO)를 이용해

서비스->임플->맵퍼->DB까지 이동시켜준다.

중간에 서비스,임플,맵퍼는 알아서 채워주자.

이제 글상세보기 페이지로 redirect 시켜준다.



아래는 modifyBoardList 쿼리문이다

글 제목과 글 내용을 update 시켜주고 글

수정 날짜에 현재 시작을 넣어주기 위해 SYSDATE를 넣어주자.





이제 글 상세보기 페이지에서 글 삭제 기능을 구현해보자.

버튼은 맨처음 만들었으니 컨트롤러와 쿼리문만 작성해주면 된다.



먼저 컨트롤러에서는 해당 글의 로우 번호만 가지고있으면 된다.

이제 쿼리문에서 로우 번호를 파라미터값으로 받아

해당 글 번호를 가진 글의 useyn값을 N으로 update해주면된다.




그리고 게시글 리스트 쿼리문에서 WHERE조건으로

useyn 값이 Y인글만 뽑도록 해주자.



실제 실무에서도 게시판을 만들때 데이터를 완전 delete 하지않고

위와같은 방식으로 Y/N구분값을 준다.


그러므로 인터넷을 할때 게시판에 남을 비방하는 글을 올리지말자.

글 삭제를해도 남을 비방했던 자기 자신의 글은

데이터로 남아있는다.




댓글

Designed by JB FACTORY