inblog logo
|
zerfa
    springboot

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

    kimsoapsoap's avatar
    kimsoapsoap
    Aug 27, 2024
    CRUD V1-09. 수정기능 만들기
    Contents
    1. 수정 페이지 이동2. 글 수정
     

    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
    Contents
    1. 수정 페이지 이동2. 글 수정

    zerfa

    RSS·Powered by Inblog