게시글 선택 다이어그램.drawio.png

게시글 선택 다이어그램.drawio

controller

    // 선택한 게시글 출력
    @RequestMapping(value = "/myHomeSelect.do", method = RequestMethod.GET)
    public ModelAndView selectMyHome(int boardMyhomeArticleNo) throws Exception {
    	System.out.println(boardMyhomeArticleNo);
    	myhomeDomain = myhomeService.selectMyHome(boardMyhomeArticleNo); // 게시글 조회
    	
    	 String memberId = myhomeDomain.getMemberId();
         String nickName = myhomeService.checkNickName(memberId);

         System.out.println("memberId : " + memberId);
         System.out.println("nickName : " + nickName);

         // "myHome"를 JSP에 전달
         ModelAndView mav = new ModelAndView("/board/board_myhome/myHomeSelect");
         mav.addObject("selectMyHome", myhomeDomain); // "selectMyHome"라는 이름으로 데이터를 JSP로 전달
         mav.addObject("nickName", nickName); // "selectMyHome"라는 이름으로 데이터를 JSP로 전달
         
         // 해당 회원이 선택한 좋아요 리스트
         Map<String, Object> likeChcekMap = new HashMap<>();
         likeChcekMap.put("memberId", memberId);
         likeChcekMap.put("boardMyhomeArticleNo", boardMyhomeArticleNo);
         String likeChcek = myhomeService.likeChcek(likeChcekMap);
         System.out.println("라이크 리스트 들어왔니? " + likeChcek);
         mav.addObject("likeChcek", likeChcek); // "selectMyHome"라는 이름으로 데이터를 JSP로 전달
         
         
         return mav;
    }

service

	@Override
	public MyhomeDomain selectMyHome(int boardMyhomeArticleNo) throws Exception {
		myhomeDomain = myhomeDAO.selectMyHome(boardMyhomeArticleNo);
		return myhomeDomain;
	}
	// 닉네임 조회
        public String checkNickName(String memberId) throws Exception{
            return myhomeDAO.checkNickName(memberId);

        }
        
          // 좋아요 체크
        public String likeChcek(Map<String, Object> likeChcekMap) throws Exception{
        	return myhomeDAO.likeChcek(likeChcekMap);
        }

dao

	@Override
	public MyhomeDomain selectMyHome(int boardMyhomeArticleNo) throws DataAccessException {
		myhomeDomain = sqlSession.selectOne("mapper.board.selectMyHome", boardMyhomeArticleNo);
		return myhomeDomain;
	}
	
	// 닉네임 조회
    public String checkNickName(String memberId) throws DataAccessException{
        return sqlSession.selectOne("mapper.board.checkNickName", memberId);

    }
    
       // 해당 글 좋아요 체크
    public String likeChcek(Map<String, Object> likeChcekMap) throws DataAccessException{
    	return sqlSession.selectOne("mapper.board.likeChcek", likeChcekMap);
    }
    
    

myHomeSelect.jsp

<div id="article">
    <c:choose>
        <c:when test="${not empty selectMyHome}">
        <!-- 썸네일 커버 이미지 -->
<div class="coverImage">
    <c:choose>
        <c:when test="${not empty selectMyHome.boardMyhomeArticleNo}">                                                        
            <img src="${contextPath}/board/board_myhome/myHomeCoverImages.do?articleNo=${selectMyHome.boardMyhomeArticleNo}&image=${selectMyHome.imageFileName}" alt="커버 이미지">						       
        </c:when>
        <c:otherwise>커버 이미지가 없습니다.</c:otherwise>
    </c:choose>
</div>
            
            <div class="title">${selectMyHome.boardMyhomeTitle}</div>
            
            
            <div class="horizontal-row">
                <div class="info-row2" style="flex: 1;">
                <table>
                <tr>
                <td><img id="profileImage" src="${contextPath}/resources/image/mypage.png"/></td>
                <td> ${nickName}</td>
                <td><button id="followButton">팔로우</button></td>
                </tr>
                </table>
                </div>
                
                
                <div class="info-row2" style="flex: 1;">
                <table>
                <tr>
                <td><b>평수</b>${selectMyHome.boardMyhomeHomeSize}</td>
                <td><b>주거형태</b>${selectMyHome.boardMyhomeHousingType}</td>
                </tr>
                </table>
                </div>
                
            </div>
            
<div class="info-row">
    <div class="content">${selectMyHome.boardMyhomeContents}</div>
</div>
<div class="horizontal-row">
    <table style="width: 100%;">
        <tr>
<td style="text-align: left;">
<c:if test="${isLogOn == true && member != null}">
<c:choose>
<c:when test="${likeChcek=='noLike'}">
    <!--❤️ 좋아요 버튼 (POST 방식으로 서버에 요청) -->
    <form action="${contextPath}/board/board_myhome/likes.do" method="post">
        <input type="hidden" name="boardMyhomeArticleNo" value="${selectMyHome.boardMyhomeArticleNo}" />
        <button id="nolikeButton" type="submit">
            ❤️ 좋아요
        </button>
    </form>
    </c:when>
 <c:otherwise>
  <!--❤️ 좋아요 버튼 (POST 방식으로 서버에 요청) -->
    <form action="${contextPath}/board/board_myhome/likes.do" method="post">
        <input type="hidden" name="boardMyhomeArticleNo" value="${selectMyHome.boardMyhomeArticleNo}" />
        <button id="likeButton" type="submit">
            ❤️ 좋아요
        </button>
    </form>
 </c:otherwise>   
    </c:choose>
    </c:if>
</td>
    <!-- 댓글수 수정함!!!!!!!  -->
            <td style="text-align: right;">
			좋아요 ${selectMyHome.boardMyhomeLikes} 
			조회수 ${selectMyHome.boardMyhomeViews} 
			<!-- 댓글수 --> <span id="likeViewReply"></span>
			</td>
        </tr>
    </table>
</div>
        </c:when>
        <c:otherwise>
            <div class="no-content">내용이 없습니다.</div>
        </c:otherwise>
    </c:choose>
</div>
  
  
<div class="buttonContainer">
    <c:if test="${selectMyHome.memberId == member.memberId}">
        <!-- 수정 버튼 -->
        <form action="${contextPath}/board/board_myhome/myHomeModForm.do" method="post">
            <input type="submit" value="수정" class="button">
        </form>
        <!-- 삭제 버튼 -->
        <form action="${contextPath}/board/board_myhome/myHomeDelete.do" method="post">
            <input type="hidden" name="boardMyhomeArticleNo" value="${selectMyHome.boardMyhomeArticleNo}" />
            <input type="submit" value="삭제" class="deleteButton">
        </form>
    </c:if>
</div>
  
<!-- 댓글 작성 -->
<form id="replyForm">
    <textarea id="replyContents" name="replyContents" placeholder="댓글을 작성해주세요." required></textarea>
    <button id="addReply" type="submit">댓글 등록</button>
</form>
<div id="replyList">
    <ul id="reply"></ul>
</div>
<div class="pagingContainer">
</div>