게시판8) 글수정

  • 글보기에서 글수정 버튼을 누르면 글 수정 가능한 폼이 나오게 하고 수정을 누르면 글이 재등록되게 할 것이다.

글수정

boardController

  • 왼쪽 페이지 - 글 수정 버튼을 누르면, boardseq의 값도 넘어간다.
  • 오른쪽 페이지 - 수정 버튼을 누르면 board 객체의 정보가 수정되고, boardlist로 redirect된다.
@RequestMapping("/boardupdate")
public String boardUpdate(int boardseq, Model model) {
    Board board = repository.boardDetail(boardseq);
    model.addAttribute("board",board);
    return "board/boardUpdate";
}

@RequestMapping(value = "/boardupdate", method = RequestMethod.POST)
public String boardUpdate(Model model, Board board) {
    int result  = repository.boardUpdate(board);
    return "redirect:boardlist";
}

boardupdate.jsp

  • boardList 페이지에서 받은 boardseq를 controller의 boardUpdate method 의 board에 set해야한다.

  • 아래와 같이 hidden 태그를 사용해 폼에 넣어서 보내도록 한다. (화면에 boardseq가 출력되는 부분이 딱히 없어서 hidden 으로 보내준다. 글고 중요한 정보니까 꼭 보내야한다.)

    <input type="hidden" name="boardseq" value="${board.boardseq }">
    
  • input 태그에 “${board.가져올변수}” 가 들어간다. 수정이니까 아예 공백으로 폼을 주면 당황스럽다.

    <body>
        <div class = "wrapper">
            <h1> [  글 수 정  ]</h1>
            <form id ="" action ="boardupdate" method = "POST">
                <!-- 꼭 필요! board seq hidden 으로 보내준다. -->
                <input type="hidden" name="boardseq" value="${board.boardseq }">
                <table border  ="1">
                    <tr>
                        <th>글쓴이</th>
                        <td>${sessionScope.loginName}</td>
                    </tr>
                    <tr>
                        <th>제목</th>
                        <td><input type = "text" name ="title" value = "${board.title }" required ></td>
                    </tr>
    
                    <tr>
                        <th>첨부파일</th>
                        <td><input type= "file"  ></td>
                    </tr>
    
                    <tr>
                        <th>글내용</th>
                        <td><textarea rows="10" cols = "50" name="message" required>${board.message }</textarea></td>
                    </tr>
                    <tr>
                        <th colspan="2"><input type = "button" value = "목록으로" onclick = "boardList();">&nbsp;
                            <input type = "submit" value="수정"></th>
                    </tr>
                </table>
    
            </form>
        </div>
    </body>
    

repository

public int boardUpdate(Board board) {
    BoardMapper mapper = session.getMapper(BoardMapper.class);
    int result = mapper.boardUpdate(board);
    return result;
}

mapper.xml

<update id = "boardUpdate" parameterType = "Board">
    UPDATE
    board
    SET
    title = #{title}
    , message = #{message}
    WHERE
    boardseq = #{boardseq}
</update>

◇ Spring 게시판 포스팅 시리즈 ◇

  1. Spring 과 DB 연결하기
  2. 회원 가입 화면 구성
  3. ID 중복 확인 하기
  4. 로그인 페이지 만들기
  5. 게시판 화면 구성하기
  6. 글 쓰기 기능 구현
  7. 글 확인 기능 구현
  8. 글 수정 기능 구현 - 현재 글
  9. 게시판 페이징
  10. 파일 첨부 기능
  11. 파일 다운 기능
  12. MIME 타입
  13. 글 수정시 파일 변경

© 2018. All rights reserved.

Powered by Hydejack v8.5.2