글 읽기는 리스트에서 사용자가 선택한 글에 대한 내용을 보여주는 페이지로

다음과 같은 코드를 가진다.

먼저, 사용자가 선택한 글의 번호(brdno)을 파라메터로 받아온다.

앞서 글쓰기에서는 @ModelAttribute를 이용하여 boardVO 클래스로 받아왔지만,

여기에서는 파라메터가 한개라서 request로 받아온다.

이 파라메터는 글읽기로 넘어 올 때는 리스트에서 글 제목에 board1Read?brdno=1와 같은 url이 링크로 생성되었고

물음표(?) 뒤의 값이 파라메터로 넘어오게 되는 것이다.

데이터 베이스에서 글번호에 해당하는 내용을 가져오기 위해 서비스로 넘겨준다.

SQL이 실행되어 하나의 글(행)이 반환되면 ModelMap을 이용하여

JSP에 값을 넘겨서 적절한 모습으로 사용자에게 보여 주게 된다.

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

board1Ctr.java

글읽기 페이지(HTML)는 다음 코드로,

글 쓰기 폼(HTML)에서 텍스트 입력 박스 위치에 c:out테그로 각각의 값을 출력해서 작성했다.

컨트롤에서 boardInfo로 넘겨줬기 때문에 JSP 파일에서도

boardInfo.brdwriter, boardInfo.brdtitle 등으로 값을 가져와 사용한다.

<%@ 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>
        <table border="1" style="width:600px">
            <caption>게시판</caption>
            <colgroup>
                <col width='15%' />
                <col width='*%' />
            </colgroup>
            <tbody>
                <tr>
                    <td>작성자</td>
                    <td><c:out value="${boardInfo.brdwriter}"/></td>
                </tr>
                <tr>
                    <td>제목</td>
                    <td><c:out value="${boardInfo.brdtitle}"/></td>
                </tr>
                <tr>
                    <td>내용</td>
                    <td><c:out value="${boardInfo.brdmemo}"/></td>
                </tr>
            </tbody>
        </table>   
        <a href="#" onclick="history.back(-1)">돌아가기</a>
        <a href="board1Delete?brdno=<c:out value="${boardInfo.brdno}"/>">삭제</a>
        <a href="board1Update?brdno=<c:out value="${boardInfo.brdno}"/>">수정</a>
</body>
</html>

다시 리스트로 돌아가기 위한 링크,

글 삭제와 글 수정을 할 수 있는 링크가 추가 되어 있다.

글 읽기, 수정, 삭제는 모두 대상 글에 대한 고유 값인 글 번호 (brdno)가 필요하기 때문에

항상파라메터로 넘어가는 것을 볼 수 있다. 

리스트에서 

글읽기로 넘어 갈 때는 board1Read?brdno=1
글삭제로 넘어 갈 때는 board1Delete?brdno=1
글수정으로 넘어 갈 때는 board1Update?brdno=1




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

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

+ Recent posts