게시물 수정 드가자.

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