글 수정도 글쓰기와 같이 두 개의 컨트롤로 구성 되어 있다.

사용자의 입력을 받는 폼과 입력한 내용을 저장하는 컨트롤로 구성된다.

사용자의 입력을 받는 폼의 컨트롤은 글읽기와 유사한 구조로 되어 있다.

글번호를 파라메터로 받은 뒤 데이터 베이스에서 해당 글을 조회하여

사용자가 수정할 수 있도록 입력상자(텍스트 박스)에 넣어준다.

글 읽기와 다른 점은 글 쓰기처럼 텍스트 박스를 사용한다는 것이다.

@RequestMapping(value = "/board1Update")
public String boardUpdate(HttpServletRequest request, ModelMap modelMap) throws Exception {
       
        String brdno = request.getParameter("brdno");
       
        boardVO boardInfo = boardSvc.selectBoardOne(brdno);
       
        modelMap.addAttribute("boardInfo", boardInfo);
       
        return "board1/boardUpdate";
}

board1Ctr.java

수정의 입력 폼은 글쓰기와 동일한데

hidden 테그로 글번호(brdno)를 가지고 있다는 것이다.

글쓰기는 글번호가 없는 상태이지만 수정은 글번호가 있어야 수정할 수 있기 때문에

사용자에게 보이지 않는 hidden 테그로 가지고 있게 된다.

Form 테그의 action 명이 board1UpdateSave로 되어

입력한 내용이 저장(Update) 컨트롤로 가도록 되어 있다.

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>board1</title>
</head>
<body>
    <form name="form1" action="board1UpdateSave">
        <table border="1" style="width:600px">
            <caption>게시판</caption>
            <colgroup>
                <col width='15%' />
                <col width='*%' />
            </colgroup>
            <tbody>
                <tr>
                    <td>작성자</td>
                    <td><input type="text" name="brdwriter" size="20" maxlength="20" value="<c:out value="${boardInfo.brdwriter}"/>"></td>
                </tr>
                <tr>
                    <td>제목</td>
                    <td><input type="text" name="brdtitle" size="70" maxlength="250" value="<c:out value="${boardInfo.brdtitle}"/>"></td>
                </tr>
                <tr>
                    <td>내용</td>
                    <td><textarea name="brdmemo" rows="5" cols="60"><c:out value="${boardInfo.brdmemo}"/></textarea></td>
                </tr>
            </tbody>
        </table>   
        <input type="hidden" name="brdno" value="<c:out value="${boardInfo.brdno}"/>">
        <a href="#" onclick="form1.submit()">저장</a>
    </form>   
</body>
</html>

boardUpdate.jsp

수정 컨트롤에서는 글쓰기의 저장 컨트롤과 같이 boardVO로 사용자의 입력값을 받아와서

서비스의 updateBoard을 호출하여 UPDATE 문을 실행하여 테이블에 저장한다.

글쓰기와 차이점은 Insert문이냐 Update 문이냐 하는 차이뿐이다.

@RequestMapping(value = “/board1UpdateSave”)
public String board1UpdateSave(@ModelAttribute("boardInfo") boardVO boardInfo) throws Exception {
       
        boardSvc.updateBoard(boardInfo);
       
        return "redirect:/board1List";
}

board1Ctr.java



'Java > 게시판 1' 카테고리의 다른 글

2. 기본게시판 - 리스트  (0) 2016.03.28
3. 기본게시판 - 글 쓰기  (4) 2016.03.28
4. 기본게시판 - 글 읽기  (0) 2016.03.28
6. 기본게시판 - 글 삭제  (0) 2016.03.28
7. 기본게시판 - 예전의 개발 코드  (1) 2016.03.19

+ Recent posts