게시글 수정을 할 것이다
우선 boardmodify.html을 만들자.
글 작성과 같기 때문에 boardwrite.html 코드를 복사해서 그대로 만들자!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>게시물 수정</title>
</head>
<style>
.layout {
width: 500px;
margin: 0 auto;
margin-top: 40px;
}
.layout input{
width: 100%;
box-sizing: border-box;
}
.layout textarea {
width: 100%;
margin-top: 20px;
min-height: 300px;
}
h2 {
text-align: center;
}
</style>
<body>
<form action="/board/writepro" method="post">
<h2>게시물 작성</h2>
<div class="layout">
<input type="text" name="title">
<textarea name="content"></textarea>
<button type="submit">수정</button>
</div>
</form>
</body>
</html>
그리고 항상 그랬듯이 BoardController로 이동하고
처음 보는 어노테이션이 나타났다 !
@PathVariable : 현 코드 기준으로 URI이 들어왔을 때 id부분이 인식이 되어서 Integer 형태의 id로 들어오게 된다.
예를 들면, 아래 URI 에서 진한 부분이 @PathVariable로 처리해 줄 수 있다.
http://localhost:8080/board/modify/12
이 전 주소와는 다르게 ?id=1 이런식이 아닌 /1 이런 식으로 URI 주소가 나타나니까 보기 훨씬 깔끔하다고 느껴졌다.
게시물 수정은 write와 같으므로 Service에서는 따로 작성하지 않고, boardView 메서드를 그대로 사용한다!
이제 boardmodify.html을 수정을 해 줘야 한다.
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>게시물 수정</title>
</head>
<style>
.layout {
width: 500px;
margin: 0 auto;
margin-top: 40px;
}
.layout input{
width: 100%;
box-sizing: border-box;
}
.layout textarea {
width: 100%;
margin-top: 20px;
min-height: 300px;
}
h2 {
text-align: center;
}
</style>
<body>
<form th:action="@{/board/update/{id}(id=${board.id})}" method="post">
<h2>게시물 수정</h2>
<div class="layout">
<input type="text" name="title" th:value="${board.title}">
<textarea name="content" th:text="${board.content}"></textarea>
<button type="submit">수정</button>
</div>
</form>
</body>
</html>
thymeleaf로 수정을 조금 하였고, textarea는 thymeleaf value가 들어가지지 않아, text를 사용했다.
이제 다시 Controller로 이동을 하여 PostMapping 구현을 하자
html에서 action 값으로 "@{/board/update/{id}(id=${board.id})}"을 주고, method는 post방식 이다.
위에서 언급 했듯이, 게시물 작성이랑 내용이 비슷하다.
수정은 기존의 글을 찾고, 새로 입력한 내용을 기준의 내용에 다시 담아서 저장을 한다.
2번 글 수정
DB 값도 수정이 잘 되었다.
'Backend > SPRINGBOOT' 카테고리의 다른 글
[SpringBoot] 게시판 만들기 8. 파일 업로드 (0) | 2022.11.01 |
---|---|
[SpringBoot] 게시판 만들기 7. 처리 메시지 (0) | 2022.10.31 |
[SpringBoot] 게시판 만들기 5. 게시글 삭제 (0) | 2022.10.31 |
[SpringBoot] 게시판 만들기 4. 게시글 상세 페이지 (0) | 2022.10.31 |
[SpringBoot] 게시판 만들기 3. 게시글 페이지 (0) | 2022.10.31 |