
관리자만 댓글을 달 수있고, 댓글이 이미 있다면 더 이상 달 수 없다.
불편사항 게시판이기 때문에 관리자의 처리내용 전달용으로 만들었다.
#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에서 조회해올 필요는 없다.
'프로젝트 > 1차프로젝트' 카테고리의 다른 글
유저관리 - ajax와 모달창을 활용한 유저 정지 (0) | 2024.05.28 |
---|---|
불편사항 - 불편사항 메인페이지에 표시하기 (0) | 2024.05.23 |
불편사항 - ajax로 글 상태 변경하기 (0) | 2024.05.23 |
공지사항 - 삽입/삭제 (0) | 2024.05.23 |
공지사항 - 수정 (0) | 2024.05.23 |