관리자만 댓글을 달 수있고, 댓글이 이미 있다면 더 이상 달 수 없다.

 

불편사항 게시판이기 때문에 관리자의 처리내용 전달용으로 만들었다.

 

#view

<c:if
			test="${sessionScope.loginUser.adminOk=='Y'&&inconvBoardReply==null }">
			<div class="comment-section">
				<form class="comment-form" action="iconvreply.do">
					<div class="form-group">
						<textarea name="commentContent" class="form-control" placeholder="댓글을 입력하세요" required></textarea>
					</div>
					<input type="hidden" name="boardNo" value="${inconvBoard.boardNo }">
					<input type="hidden" name="id" value="${sessionScope.loginUser.id }">
					<input type="hidden" name="user" value="${sessionScope.loginUser.userId }">
					<input type="hidden" name="page" value='${currentPage }' >
					<button type="submit" class="btn btn-primary">작성</button>
				</form>
			</div>
		</c:if>

보일 필요는 없지만 같이 보내야하는 정보는 모두 hidden처리 해놨다.

위에 조건문을 보면 Session에서 admin인지 아닌지를 조회하고 reply가 현재 페이지에 없어야 해당 폼이 뜨게 되어있다.

#controller

@RequestMapping(value="iconvreply.do", method=RequestMethod.GET)
		public String inconvReplyWriteMethod(Model model, InconvinienceBoardReply inconvBoardReply,@RequestParam(name = "page", required = false) String page ) {
			logger.info(inconvBoardReply.toString());
			if(inconvService.insertInconvBoardReply(inconvBoardReply)>0) {
				//댓글 등록 성공시 방금 작성한 글로 이동
				model.addAttribute("ino", inconvBoardReply.getBoardNo());

				return "redirect:inconvdetail.do";
		}else {
				model.addAttribute("message", "댓글 등록 실패");
				return "common/error";
		}
		}

댓글을 등록하고 성공시 방금 댓글을 작성한 글로 이동한다. 

글번호는 이미 받아왔기 때문에 글번호를 위해 다시 DB에서 조회해올 필요는 없다.

 

 

복사했습니다!