게으른 완벽주의자의 개발자 도전기
[board] 게시글 상세페이지 (th:object, th:field) 본문
1. mapper / service
<select id="boardDetail" resultMap="board">
SELECT BOARD_NUM
, TITLE
, MEMBER_ID
, CONTENT
, CREATE_DATE
FROM BOARD
WHERE BOARD_NUM = #{boardNum}
</select>
@Override
public BoardVO boardDetail(int boardNum) {
return sqlSession.selectOne("boardMapper.boardDetail", boardNum);
}
2. controller
board_list.html에서 아래와 같이 제목을 클릭했을때 controller로 이동하도록 설정함
<td><a th:href="@{/board/boardDetail(boardNum=${board.boardNum})}"
th:text="${board.title}"></a>
</td>
글 상세페이지로 이동
@GetMapping("/boardDetail")
public String boardDetail(int boardNum, Model model) {
model.addAttribute("boardDetail", boardService.boardDetail(boardNum));
return "content/boardDetail";
}
3. boardDetail.html
<div layout:fragment ="content" th:object="${boardDetail}">
<div class="row justify-content-center">
<div class="col-6">
<div class="mb-3">
<label for="formGroupExampleInput" class="form-label">글번호</label>
<input type="text" class="form-control" id="formGroupExampleInput" th:field="*{boardNum}" readonly>
<label for="formGroupExampleInput" class="form-label">작성일</label>
<input type="text" class="form-control" id="formGroupExampleInput"
th:field="*{createDate}" readonly>
<label for="formGroupExampleInput" class="form-label">작성자</label>
<input type="text" class="form-control" id="formGroupExampleInput"
readonly th:value="${session.loginInfo.memberName}">
<label for="formGroupExampleInput" class="form-label">제목</label>
<input type="text" class="form-control" id="formGroupExampleInput" th:field="*{title}" readonly>
</div>
<label for="formGroupExampleInput" class="form-label">내용</label>
<div class="form-floating">
<textarea class="form-control" placeholder="내용을 입력하세요"
id="floatingTextarea2" style="height: 300px" th:field="*{content}" readonly></textarea>
</div>
<div class="row">
<div class="col text-center">
<button type="button" class="btn btn-outline-info" th:onclick="|location.href = '@{/board/list}'|"> 뒤로가기 </button>
<button type="button" class="btn btn-outline-info" th:onclick="|location.href = '@{/board/updatePage(boardNum=${boardDetail.boardNum})}'|">수정하기</button>
<button type="button" class="btn btn-outline-info" th:onclick="|location.href = '@{/board/deleteBoard(boardNum=${boardDetail.boardNum})}'|">삭제하기</button>
</div>
</div>
</div>
</div>
</div>
'Spring Boot' 카테고리의 다른 글
[board] 게시글 삭제하기 (0) | 2022.09.21 |
---|---|
[board] 게시글 수정하기 (0) | 2022.09.19 |
[board] 게시글 목록 (0) | 2022.09.19 |
[board] 게시글 등록하기 (session 데이터, validation 처리) (0) | 2022.09.19 |
[shop] 모달을 사용하여 로그인하기 (ajax 사용, ajax 사용 X) (0) | 2022.09.18 |