본문 바로가기
Spring/SpringBoot

[SpringBoot] 간단한 게시판 생성_글수정

by 코딩맛 2024. 1. 15.

1. 게시물 수정

1) view(html)

boardview.html

<body>
<h1 th:text="${board.title}">제목입니다.</h1>
<p th:text="${board.content}">내용이 들어갈 부분입니다.</p>
<a th:href="@{/board/delete(id=${board.id})}">글 삭제</a>
<a th:href="@{/board/modify/{id}(id=${board.id})}">글 수정</a>
</body>

a태그에 id를 지정

path variable방식은 주소창에  /{번호} 식으로 나타냄

 

2) controller

@GetMapping("/board/modify/{id}")
public String boardModify(@PathVariable("id") Integer id, Model model){
    model.addAttribute("board",boardService.boardView(id));
    return "boardmodify";
}

경로 매핑에서 path variable 방식 사용

메서드에 들어가는 인자 @PathVariable("id")를 해주어야 함

GetMapping에서 {id} :  modify/ 이후 나오는 값 id

@PathVariable("id") Integer id : Path variable로 얻은 id 변수가 Integer 자료형이라 알림

 

3) view (html)

boardmodify.html

<form th:action="@{/board/update/{id}(id = ${board.id})}" method="post">
    <label for="exampleFormControlInput1" class="form-label">Name</label>
    <input id="exampleFormControlInput1" name="title" type="text" th:value="${board.title}"><br>
    <label for="exampleFormControlTextarea1" class="form-label">Example textarea</label><br>
    <textarea id="exampleFormControlTextarea1" name="content" th:text="${board.content}"></textarea>
    <button type="submit">수정</button>
</form>

 

value값에 board의 title, content값을 넣어줌.

id에 따른 update 경로를 지정, 버튼 클릭시 수정버튼 누르면 이동

 

4) controller

@PostMapping("/board/update/{id}")
public String boardUpdate(@PathVariable("id") Integer id, Board board){

    Board boardTemp = boardService.boardView(id);
    boardTemp.setTitle(board.getTitle());
    boardTemp.setContent(board.getContent());

    boardService.write(boardTemp);

    return "redirect:/board/list";
}

 

board 자료형을 이용해 write를 수행하듯 board 자료형에 담아서 다시 사용

 

https://minddokddok.tistory.com/34?category=1040940

 

스프링 부트(Spring Boot)로 간단한 게시판 만들기 - 4

이전 단계였던 게시물 삭제 기능 구현에 이어, 게시물 수정을 해보도록 하자 6) 게시물 수정 - 게시물 수정 페이지 생성 우선, 게시물 수정 버튼을 만들어주자. view부분에 넣어줘야하기에 boardview.

minddokddok.tistory.com

위 해당글을 참고하였습니다.