스프링을 모르는 사람들에게. CRUD 5
게시물 수정 드가자.
board/update.jsp를 만들어주자.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>Update page</h2>
<form name="update" method="POST" action="${path}/board/update?no=${data.no}">
<div>글번호 : ${data.no}</div>
<div>이름 : </div>
<div><input name="name" value="${data.name}" type="text"/></div>
<div>ID : </div>
<div><input name="id" value="${data.id}" type="text"/></div>
<div>GOAL</div>
<div><input name="goal" value="${data.goal}" type="text"/></div>
<div>작성일자</div>
<div><fmt:formatDate value="${data.date}" pattern="yyyy/MM/dd" /></div>
<div>작성시간</div>
<div><fmt:formatDate value="${data.time}" pattern="HH:mm:ss" /></div>
<div>
<input type="submit" class="btn btn-outline-info" value="완료"/>
<input type="reset" class="btn btn-outline-info" value="리셋"/>
</div>
</form>
</body>
</html>
update.jsp 페이지로 갈 수 있는 controller를 작성해주자.
// 게시물 수정 페이지로 이동
@RequestMapping(value = "/update", method = RequestMethod.GET)
public String getupdate() throws Exception {
return "board/update";
}
detail.jsp에 가서 수정버튼을 만들자.
<a href="/board/update?no=${data.no}" role="button" class="btn btn-outline-info">수정</a>
수정버튼을 클릭하면 업데이트 페이지가 나온다.
BoardController.java에 가서 코드 수정을 해준다.
// 게시물 수정 페이지로 이동
@RequestMapping(value = "/update", method = RequestMethod.GET)
public String getupdate(int no, Model model) throws Exception {
BoardVO data = service.detail(no);
model.addAttribute("data", data);
return "board/update";
}
DAO 코드 추가
public void update(BoardVO vo); // 수정하기
DAOImpl 코드 추가
@Override
public void update(BoardVO vo) {
sql.update(namespace + ".update", vo);
}
Service에 코드추가
public void update(BoardVO vo);
ServiceImpl에 코드추가
@Override
public void update(BoardVO vo) {
dao.update(vo);
}
수정 post를 controller에 작성
// 게시글 수정 post
@RequestMapping(value="/update", method=RequestMethod.POST)
public String postupdate(BoardVO vo) throws Exception {
service.update(vo);
return "redirect:list"; // 리스트로 리다이렉트
}
이렇게 다 작성하고 런을 돌리면 됨
은 개뿔 에러날꺼다. 왜냐?
- boardMapper.xml에 쿼리를 작성안했기 때문이다.
<!-- 게시글 업데이트(수정) -->
<update id="update" parameterType="com.board.domain.BoardVO">
update i_can_do_it SET id = #{id}, name =#{name}, goal = #{goal} WHERE no = #{no}
</update>
이 코드를 추가해주자. ㅅㄱ
Leave a comment