게시판7) 글확인
in Web Dev on Java Spring
boardList에서 boardDetail 로 넘어가기
boardList.jsp 에서 글을 클릭하면 javascript가 동작하게 했다.
<a href="javascript:boardDetail(${board.boardseq})">${board.title}</a>
아래와 같은 function 이 실행된다. location.href = “현재주소/boarddetail?boardseq=boardseq” 이렇게 Controller에 boarddetail과 매핑되어있는 메소드로 boardseq 정보가 전달되며 실행된다.
function boardDetail(boardseq){ var req = "boarddetail?boardseq=" + boardseq; location.href = req; }
boardDetail 에서 글 확인하기
- 똑같은게 계속 반복된다.
BoardController.java
list에서 넘어온 boardseq정보를 spring 이 알아서 board 객체에 넣어준다. 넘어온 boardseq 정보로 DB에서 해당되는 board 객체를 가져온다.
@RequestMapping("/boarddetail") public String boardDetail(int boardseq, Model model) { Board board = repository.boardDetail(boardseq); //hit count 를 여기서 올려준다. 조회수 올릴 수 있도록 DB에 한번 더! insert, delete, update는 oracle에서 int를 리턴한다. select만 객체를 리턴한다. int result = repository.hitCount(boardseq); model.addAttribute("board",board); return "board/boardDetail"; }
BoardController.jsp
- 자신의 글만 수정할 수 있게 한다.
<c:if test = “${sessionScope.loginId==board.userid }”></c:if> 를 사용해 userid와 작성자 id가 같으면 수정 삭제 버튼이 보이도록 한다.
- jsp파일에서 http session 에 있는 정보를 가져올때는 sessionScope.변수명 을 해준다. 그러면 자동으로 getter가 불려서 정보가 가져와짐 (변수에 직접 접근하는게 아닌데 그렇게 보인다.)
- java 파일에서 http session 에 있는 정보를 가져올때는(보통 controller 파일 같다.) session.getAttribute(“변수명”); 이래한다.
<h1> [ 글 보 기 ]</h1> <table border ="1"> <tr> <th>글쓴이</th> <td>${board.userid}</td> </tr> <tr> <th>제목</th> <td>${board.title }</td> </tr> <tr> <th>첨부파일</th> <td></td> </tr> <tr> <th>글내용</th> <td><pre>${board.message}</pre></td> </tr> <tr> <th colspan="2"> <c:if test = "${sessionScope.loginId==board.userid }"> <input type = "button" value = "글수정"> <input type = "button" value="글삭제"></c:if> <a href = "">목록으로 </a> </th> </tr> </table> <br>
boarderRepository
public Board boardDetail(int boardseq) {
BoardMapper mapper = session.getMapper(BoardMapper.class);
Board board = mapper.boardDetail(boardseq);
return board;
}
boarderMapper.xml
<select id = "boardDetail" parameterType ="int" resultType="Board">
SELECT
boardseq,
userid,
title,
message,
to_char(regdate,'YYYY-MM-DD') as regdate
,hitcount
, originalfile
, savedfile
FROM
BOARD
WHERE
boardseq = #{boardseq}
</select>
◇ Spring 게시판 포스팅 시리즈 ◇