CRUD V1-09. 수정기능 만들기

kimsoapsoap's avatar
Aug 27, 2024
CRUD V1-09. 수정기능 만들기
 

1. 수정 페이지 이동

 

1-1. 수정 눌렀을 때 href 주소

"/board/{{model.id}}/update-form"
notion image
 
 
 
 

1-2. BoardController에서 수정 페이지 주소 받아주기

@GetMapping("/board/{id}/update-form") public String updateForm(@PathVariable("id") int id, HttpServletRequest request) { Board board = boardRepository.findById(id); request.setAttribute("model", board); return "board/update-form"; }
💡
해당 id로 DB에서 게시글 정보를 찾아 와서 속성이름 “model”에 넣고 update-form 페이지로 이동.
 
 
 
 

1-3. 불러온 게시글 정보 화면에 출력

{{>layout/header}} <div class="container p-5"> <div class="card"> <div class="card-header"><b>글수정하기 화면입니다</b></div> <div class="card-body"> <form action="/board/{{model.id}}/update" method="post"> <div class="mb-3"> <input type="text" class="form-control" placeholder="Enter title" name="title" value="{{model.title}}"> </div> <div class="mb-3"> <textarea class="form-control" rows="5" name="content">{{model.content}}</textarea> </div> <button class="btn btn-primary form-control">글수정하기완료</button> </form> </div> </div> </div> {{>layout/footer}}
 
input 태그 name이 title인 태그에 value값으로 {{model.title}}을 넣었고
input 태그 name이 content인 태그에 {{model.content}}을 넣었다.
textarea 태그는 value값이 없어서 여는 태그 닫는 태그 사이에 넣어줬다.
 
그리고 수정완료 눌렀을 때 전송하는 action 주소에
action="/board/{{model.id}}/update" 을 넣어줬다.
BoardController에서 해당 주소를 받아준다.
 
 
 

2. 글 수정

2-1. 글 수정 완료 클릭

 
BoardController에서 주소를 받아서 수정한 정보를 DB에 넣어준다.
@PostMapping("/board/{id}/update") public String update(@PathVariable("id") int id, String title, String content) { boardRepository.updatdById(title, content, id); return "redirect:/board/" + id; }
 
그리고 return "redirect:/board/" + id; 을 통해서 수정된 게시글을 볼 수 있게 한다.
 
 
Share article

zerfa