select *
from
(
select rownum as rn , A.*
from (
select
rownum, REPLYTEXT, REPLYER , bno , m.USERNAME , r.REGDATE, r.UPDATEDATE ,
rno , secret_reply,
(select writer from tbl_board where bno=#{bno}) as writer
from
TBL_REPLY r , TBL_MEMBER m WHERE r.REPLYER =m.USERID
and bno=1000 order by rno desc
) A
) where rn BETWEEN #{start} and #{end}
Html 체크
<tr>
<td>비밀댓글</td>
<td>
<input type="checkbox" id="secret_reply" name="secret_reply" class="form-control" >
</td>
</tr>
자바스크립트 처리
//비밀 댓글 체크 여부
var secret_reply ="n";
if($("#secret_reply").is(":checked")){
secret_reply ="y";
}
전체 코드
$("#btnReply").click(function(event){
event.preventDefault();
var userid ='${sessionScope.loginUser.userid}';
var replytext =$("#replytext").val();
var bno ='${vo.bno}';
//alert("번호" + bno + " : " +userid + " : " + replytext) ;
//비밀 댓글 체크 여부
var secret_reply ="n";
if($("#secret_reply").is(":checked")){
secret_reply ="y";
}
if(userid.length < 1){
alert("로그인을 하셔야 댓글이 가능합니다." ) ;
return ;
}
if(replytext.length <1){
alert("댓글을 작성하세요!");
return ;
}
$.ajax({
type :"post",
url : "/freeboard_reply/insert",
contentType:"application/json",
dataType :"text",
data:JSON.stringify({
bno :bno,
replyer:userid,
replytext:replytext,
secret_reply: secret_reply
}),
success:function(result){
if(result=="SUCCESS"){
replyListAll2(1);
$("#replytext").val("");
var cnt =$("#replyNum").html();
$("#replyNum").html((parseInt(cnt)+1));
}
}
});
});
서비스
@Override
public List oracleList(Integer bno, int start, int end, HttpSession session) {
List list=freeBoardReplyao.oracleList(bno, start, end);
for(FreeBoardReplyVO row : list){
//로그인 여부
MemberDTO dto =(MemberDTO) session.getAttribute("loginUser");
if(dto!=null){
if(row.getSecret_reply().equals("y")){
if(dto.getUserid().equals(row.getReplyer())
|| dto.getUserid().equals(row.getWriter())
){
//로그인 한 유저 와 댓글 한 유저 또는 글쓴 유저 아이디가 같으면 통과
}else{
row.setReplytext("비밀 댓글 입니다.");
}
}
}else{
//로그인 안한 사람 비밀 댓글이 y 면 비빌댓글입니다. 표시
if(row.getSecret_reply().equals("y")){
row.setReplytext("비밀 댓글 입니다.");
}
}
}
return list;
}
댓글 ( 4)
댓글 남기기