우선 막혔던 부분은 1. 수정을 하면서 부분 수정으로 mybatis를 이용해 구현 할 수 있는가?였다.
2. 수정일이 잘 구현되는가?
3. 수정이 되는가?
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
<script src="https://cdn.jsdelivr.net/gh/parkjieun87/confirm-link@0.0.1/confirm-link.js"></script>
</head>
<body>
<form action="edit" method="post">
제목 : <input type="text" name="boardTitle" value="${dto.boardTitle}">
작성자 : <input type="text" name="boardWriter" readonly value="${dto.boardWriter}">
<div class="row mt-4">
<div class="col">
<label class="text-size">게시판 이름 :</label>
<select name="name" class="form-select rounded">
<option value="${dto.name}" selected>${dto.name}</option>
<option value="A">A 게시판</option>
<option value="B">B 게시판</option>
<option value="C">C 게시판</option>
<!-- 다른 게시판 옵션들 추가 -->
</select>
</div>
</div>
내용 : <input type="text" name="boardContent"value="${dto.boardContent}">
작성일 : <input type="date" name="createAt" readonly value="${dto.createAt}">
<input type="hidden" name="id" value="${dto.id}">
<button type="submit" class="confirm-link" data-message="정말 수정하시겠습니까?">수정하기</button>
</form>
</body>
</html>
url을 매핑해주었고 POST형태로 컨트롤러에 보낸다.
name 속성을 지정해주고, value에 제목을 넣었다. 사용자가 제목과 내용중에서 제목만 수정하고 '수정하기'버튼을 누를 수도 있다. 그럴때 수정되지 않은 내용도 파라미터에 담겨서 넘어가기 위해 value에 값을 넣은 것이다.
마찬가지로 name 속성을 지정하고 value에 넣었다. 하지만 작성자는 수정할 수 없게 만들기 위해 readonly를 넣엇다.
hidden을 이용해서 글번호(id)값도 같이 날려주었다. 글번호를 이용하여 update를 진행한다.
수정하기 버튼의 type을 submit으로 해주었다. submit이 아니면 form 태그가 작동을 안한다.