글 읽기는 게시물 번호(brdno)에 해당하는 글을 조회해서 출력하는 기능을 하는데,

그룹번호(bgno)별로 게시물 번호(brdno)를 따로 부여하는 것이 아니라서

파라미터로 받은 게시물만 조회해서 보여주면 된다.

다만, 앞서 언급한 바와 같이 그룹번호(bgno)를 파라미터로 받지 않고

데이터를 조회할 때(selectBoard8One) 그룹번호를 가지고 오도록 처리했다.

<select id="selectBoard8One" parameterType="String" resultType="gu.board8.BoardVO">
        SELECT BGNO, BRDNO, BRDTITLE, BRDWRITER, BRDMEMO, DATE_FORMAT(BRDDATE,'%Y-%m-%d') BRDDATE
          FROM TBL_BOARD
         WHERE BRDDELETEFLAG='N'
           AND BRDNO=#{brdno}
</select>

board8.xml

JSP 파일에서 게시판 기능과 관련된 돌아가기/삭제 링크에

다음과 같이 URL 파라미터로 그룹번호를 추가해 준다.

글 수정에 그룹번호를 지정하지 않는 것은

글 읽기와 마찬가지로 수정 데이터를 조회할 때 그룹번호를 같이 가지고 오기 때문이다.

<a href="board8List?bgno=<c:out value="${boardInfo.bgno}"/>">돌아가기</a>
<a href="board8Delete?bgno=<c:out value="${boardInfo.bgno}"/>&brdno=<c:out value="${boardInfo.brdno}"/>">삭제</a>
<a href="board8Form?brdno=<c:out value="${boardInfo.brdno}"/>">수정</a>

BoardRead.jsp


마지막으로

댓글 관련 기능에도 그룹번호(bgno)를 전달해야 할 것 같지만 필요하지 않다.


첫 번째 이유는 댓글은 게시 글 번호(brdno)을 대상으로 생성하기 때문이다.

해당 글 번호에 대하여 리스트를 조회하고 쓰기/수정/삭제가 이루어 진다.


두 번째 이유는 글 읽기(Board8Read)를 호출할 때

그룹번호가 없어도 되도록 구성했기 때문이다.

댓글 저장 후 다시 게시 글 읽기로 돌아올 때

게시 글 번호만 있어도 되기 때문이다.

더욱이 Ajax를 사용해 서버로 게시 글 번호와 필요 정보만 전송하면 된다.


글 삭제는 게시물 번호(brdno)에 해당하는 글을 지우고,

글 읽기에서 받은(getParameter) 그룹 번호를 가지고 글 리스트로 돌아간다(redirect).

    @RequestMapping(value = "/board8Delete")
    public String boardDelete(HttpServletRequest request) {

        String brdno = request.getParameter("brdno");
        String bgno = request.getParameter("bgno");
       
        boardSvc.deleteBoardOne(brdno);
       
        return "redirect:/board8List?bgno=" + bgno;
    }

Board8Ctr.java


'Java > 게시판 8: 멀티게시판' 카테고리의 다른 글

1. 멀티 게시판 준비  (0) 2016.06.04
2. 글 리스트  (0) 2016.06.04
4. 글 쓰기/수정  (0) 2016.06.04

+ Recent posts