한번 보고나면 views가 증가하는 조회수
이건 컨트롤은 BoardViewCommand에서, 표시는 boardList.jsp에서 함
1. view
테이블 <thead>에는 당근 이제 고정값 title / writer / date / views 가 들어갔고
<tbody>에 dto에서 받은 내용들을 뿌려주면 된다.
<tbody>
<c:if test="${empty list}"> // 게시글이 없으면
<tr>
<td colspan="4">There is no post yet.</td> // 테이블행(열)들을 합쳐 이렇게 표시해준다.
</tr>
</c:if>
<c:if test="${not empty list}"> // 게시글이 있으면
<c:forEach var="bDto" items="${list}">
<tr>
<td>
<!-- 1. 댓글은 bDepth 만큼 들여쓰기를 한다. -->
<c:forEach begin="1" end="${bDto.bDepth}" step="1">
</c:forEach>
<!-- 2. 댓글은 제목 앞에 ㄴRe. 를 표시한다. -->
<c:if test="${bDto.bDepth ne 0}">
ㄴRe.
</c:if>
<!-- 3. 삭제된 게시글은 링크를 제공하지 않는다. -->
<c:if test="${bDto.bDelete eq 0}">
<a href="/MYHOME_P/boardView.board?bNo=${bDto.bNo}&page=${page}">${bDto.bTitle}</a> //삭제안된상태의 게시물의 제목
</c:if>
<c:if test="${bDto.bDelete eq -1}">
${bDto.bTitle}(This post has been deleted.) //삭제된 상태 게시물의 제목
</c:if>
</td>
<td>${bDto.mId}</td> // 작성자
<td>${bDto.bRegDate}</td> // 작성일
<td>${bDto.bHit}</td> // 조회수
</tr>
</c:forEach>
</c:if>
</tbody>
2. Command
// controlling views (+ bHit)
HttpSession session = request.getSession();
String open = (String) session.getAttribute("open");
if (open == null || open.isEmpty()) {
session.setAttribute("open", "yes");
BoardDao.getInstance().boardUpdatebHit(bNo);
}
3. Dao
public int boardUpdatebHit (int bNo) {
SqlSession ss = factory.openSession(false);
int result = ss.update("mybatis.mapper.board.boardUpdatebHit", bNo);
if (result > 0 ) {
ss.commit();
}
ss.close();
return result;
}
4. xml
<update id="boardUpdatebHit" parameterType="int">
UPDATE BOARD2
SET BHIT = BHIT + 1
WHERE BNO = #{bNo}
</update>
'Project > 2. My First Website <Mybatis>' 카테고리의 다른 글
project 4.1 My first website/ 답글 달기 페이지 그리고 1차 완성 (0) | 2020.09.27 |
---|---|
project 3.5 My first website/ 게시판 내 게시글 보기 (0) | 2020.09.23 |
project 3.3 My first website/ 게시판 게시글 보기 페이지 + 글 삭제 (0) | 2020.09.22 |
project 3.2 My first website/ 게시판 글쓰기 페이지 (0) | 2020.09.14 |
project 3.1 My first website/ 게시판 리스트 (0) | 2020.09.13 |