본문 바로가기

Project/2. My First Website <Mybatis>

project 3.4 My first website/ 게시판 게시글 조회수 조정하기(올리기)

한번 보고나면 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">

&nbsp;&nbsp;&nbsp;

</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>