상세페이지에 댓글 리스트 자리 만들고....

상세페이지 controller에 댓글 리스트 부분만들고

@RequestMapping(value = "/board/detail.kh", method = RequestMethod.GET)
	public ModelAndView boardDetailView(ModelAndView mv, @RequestParam("boardNo") Integer boardNo
			, @RequestParam(value = "page", required = false) Integer page
			, HttpSession session) { // 커리스트링으로 앞단에서 넘어왔기때문에 받아줄 객체/ int롤 받으면 null체크 안되서 integer로 받은것임
		try {
			Board board = bService.printOneByNo(boardNo);
			List<Reply>rList=bService.printAllReply(boardNo); 
			// 게시글 상세조회를 할때 댓글리스트까지 가져오는 것
			session.setAttribute("boardNo", board.getBoardNo());			
			// 세션에 boardNo를 저장-> 삭제하기 위해서			
			mv.addObject("rList", rList);//reply list를 전달함
			mv.addObject("board", board);
			mv.addObject("page", page);
			mv.setViewName("board/detailView");

		} catch (Exception e) {
			mv.addObject("msg", e.toString());
			mv.setViewName("/common/errorPage");

		}

		return mv;
	}

List<Reply>rList=bService.printAllReply(boardNo);

리스트로 받아와야 한다........boardNo는 이미 있으니깐 다시 애용^^

mv.addObject("rList", rList);//reply list를 전달함

받아온 댓글리스트를  다시 상세페이지에 같이 전송

 

그다음 service와 store의 과정은 같다.

 

<resultMap type="Reply" id="ReplyResultMap">
	   <id     property="replyNo"         column="REPLY_NO"/>
	   <result property="replyNo"      column="REPLY_NO"/>
	   <result property="refBoardNo"      column="REF_BOARD_NO"/>
	   <result property="replyContents"   column="REPLY_CONTENTS"/>
	   <result property="replyWriter"     column="REPLY_WRITER"/>
	   <result property="rCreateDate"   column="R_CREATE_DATE"/>
	   <result property="rUpdateDate" column="R_UPDATE_DATE"/>
	   <result property="rStatus"   column="R_UPDATE_DATE"/>
	</resultMap>

매핑주의사항....select와 별칭!!

selete할때 resultMap이 있어야 하니깐 위에 하나더 추가한다...근데 여기서 type="Reply" 은 놓쳤는데 저렇게 짧게 쓸수있는건 전에 했던  Mybatis-config. 매핑의 별칭 때문인거였다.....놓치지 말라구!!

<typeAliases>
		<typeAlias type="com.kh.junspring.member.domain.Member" alias="Member"/>
		<typeAlias type="com.kh.junspring.board.domain.Board" alias="Board"/>
		<typeAlias type="com.kh.junspring.board.domain.Reply" alias="Reply"/>
	</typeAliases>

 

상세페이지에서 댓글 리스트 출력 forEach

<!-- 댓글 목록  -->
	<table align="center" width="500" border="1">
		<c:forEach items="${rList }" var="reply">
		<tr>
			<td width="100">${reply.replyWriter }</td>
			<td>${reply.replyContents }</td>
			<td>${reply.rUpdateDate }</td>
			<td>
				<a href="#"  onclick="modifyReply();">수정</a>
				<a href="#">삭제</a>
			</td>
		</tr>
		<tr id="remo" style="display:none;">
			<td colspan="3"><input type="text" size="50" value="${reply.replyContents }"></td>
			<td><button>수정</button></td>
		</tr>
		</c:forEach>	
	</table>

<c:forEach items="${rList }" var="reply">

맨날 새로운 for each문.....어쩐단 말이냐....ㅠㅠ

수정과 삭제는 다음주로....

+ Recent posts