Spring boot kim's cafe/게시판만들기 16

Springboot 게시판만들기!(14) 게시글 삭제

이제 대망의 삭제를 할 건데 게시글이 삭제될때 게시글만 삭제되면 안 되고 사진/내용/댓글 모두 삭제시키려고 한다 이미 사진삭제하는 함수는 만들어 놨으니 글/댓글부터 삭제해주는 함수를 만들자 commentdao native쿼리를 이용해서 게시글 번호로 관련된 댓글들을 한 번에 삭제할 수 있게 해 주자 commentservice dao를 불러주는 함수이다 boardservice Listalreadyimages=new ArrayList(); uploadimageservice.deleteImage(alreadyimages, bid); 이전 함수를 호출해서 빈 배열을 준다 이렇게 되면 기존 사진의 배열이 비어있으므로 db의 사진 정보가 그대로 deleteimages배열에 들어가서 그대로 delete문으로 들어가게..

Springboot 게시판만들기!(13) 댓글 수정 with disabled

수정 기능을 넣을 건데 html 현재 disabled 되어있는 버튼을 '수정'을 눌르면 '확인'/'내용'에 있는 disable이 사라지게 해 주려고 한다 여기서 주의할 점 사용자가 '수정'을 누르고 "어 이 댓글이 아니네"하고 바로 다른 댓글에 '수정'을 누른다면 이전 '확인/'내용'disable이 다시 올라와야 한다! js 굳이 같은 코드를 true/false로 나눈 이유는 beforeClickUpdateID=cid;때문이다 이전 클릭했던 '수정'의 id를 알아야 하기 때문에 나눠 났다! 아주 잘 작동해준다 이제 service로 가서 orElseThrow(()->new Exception("존재하지 않은 댓글입니다")) 람다식을 이용했다 밑에 deleteCommentByCid와 비교해보면 뭔가 멋있다 ㅋ..

Springboot 게시판만들기!(12) 글수정 with Photo

장문의 글이 될 거 같다 정말 어려웠다 글 수정을 구현하려고 했다 1. 글 수정 2. 사진수정 사진수정이 고비였다 해본 적도 없고 검색해도 뭔 말인지 모르겠는 글만 나왔다 그러던 중 "사진 수정은 모든 사진을 지웠다 다시 넣는다" 라고 써져있는 글을 봤고 아이디어를 얻었다 아이디어는 이렇다 기존 사진을 따로 처리하고 새로운 사진은 넣어주기만 하면 되네? html 처음 보는 거였다 contentEditable="true"를 써야 사진이 출력 가능했다 textarea는 더 이상 쓸 필요가 없다 false시 수정 불가하다 js var formData = new FormData(form);를 이용했다 formData.append 정말 신기했다 form안에 없는 정보도 추가해서 보낼 수 있다 getElementB..

Springboot 게시판만들기!(11) 댓글 삭제

백엔드는 그냥 cid값으로 delete 해주면 된다 라는 생각을 가지고 임했는데 문제는 프론트 앤드였다 삭제/수정 버튼을 눌렀을 때 지목한 수정 버튼만 적용이 돼야 했었고 또 지정한 댓글의 id값을 어떻게 넘겨줘야 하나 생각했다 그리고 처음 js를 구현했을 때는 window.onload에 꽂혀서 어떤 방식이냐면 예를 들어 cid값이 70인 댓글 삭제를 누르면 document.querySelectorAll('.updateCommnetButton2').forEach(function(item)를 반복문 돌려서 찾아서 cid 값을 찾아서 던 저주는 형식인데 문득 onclick이라는 것이 생각나서 이렇게 바꿨다 onclick이용 어 진짜 이렇게 간단한걸 며칠 동안 아 도대체.. 어떤 댓글인지 어떻게 알지.. 라고..

Springboot 게시판만들기!(10) 사진불러오기 with thymeleaf

사진을 불러오려면 사진의 경로가 필요하다 그래서 dao로가서 bid=글 번호에 맞는 경로를 db에서 가져온다 controller로가서 model.addAttribute("imagearray", boardimagedao.findByBidOrderById(bid)); 보내준다 이제 핵심은 프런트인데 일단 가장 기본적이게 그냥 모든 텍스트 밑에다 넣겠다 어쩔 수없다 t스토리나 다른 게시판처럼 하려면 이미 넣을 때부터 틀렸다 그러므로 내가 현재 할 수 있는 선에서 내가 가진 정보로 spring이 잘 사진을 던져주는지 확인하기 위해 해 보는 거다! 자 textarea안에는 ima 뭐가 표시가 불가능하다 그래서

Springboot 게시판만들기!(9)글쓰기 사진 올리기 추가 with XMLhttpRequset and MultipartFile

이전까지만 해도 text만 올릴 수 있는 게시판이었다 이유는 받을 줄은 아는데 ajax로 도대체 어떻게 보내야 하는지... 이게 혼란스러웠다 그래서 좀 찾아본 결과 https://m.blog.naver.com/PostView.nhn?blogId=mk1126sj&logNo=221016837263&proxyReferer=https:%2F%2Fwww.google.co.kr%2F [jQuery/제이쿼리] ajax와 FormData를 이용한 비동기 파일 업로드 비동기 업로드를 하기 위해 ajax와 FormData를 이용한 방법이다. FormData는 IE10버전 부터 지원하며... blog.naver.com https://unikys.tistory.com/233 [Javascript] AJAX (XMLHttpRe..

Springboot 게시판만들기!(8) 댓글 불러오기

이제 댓글을 출력시켜주면 된다 dao로 가서 페이징을 위해 작성해준다 원리는 게시판 검색 로직과 같다 페이지별 select와 totalpage를 알기 위해 쿼리문을 작성해준다 이제 service로가서 페이징을 위한 준비를 해 주고 controller로가서 댓글도 같이 불러오게 해 주고 기본 페이지는 1로 지정해준다 결과 잘 출력된다! 요새 사실 이런 시스템은 잘 안쓰던데 일단 백엔드 위주의 공부중이니 좀 오래됐지만 ㅎㅎ 이걸로 만들었다! 이제 댓글 삭제 기능을 만들러 가자! 수정보다 삭제가 더 간단하다 그래서 삭제부터 만들자!

Springboot 게시판 만들기!(7) 댓글 등록 with Ajax

vo/dto/dao 세팅하고 html 로그인 여부에 따라 다르게 표시해주고 js 클릭 시 행할 함수를 만들어준다 정상적으로 등록했다면 등록한 게시물 페이지로 이동된다 service로가서 db에 넣을 수 있게 짜주고 restcontroller로가서 이메일 인증이 된 사람만 댓글을 적을 수 있게 해 준다! 이메일 미인증시 인증시 db로 잘 들어왔다 다음번엔 댓글이 달린 게시글에 댓글을 출력시켜 주자!

Springboot 게시판 만들기!(6)글 수정 only text version

수정/삭제 중 수정부터 하려는데 이유는 삭제시 글/댓글/사진 db로보면 boardl/comment/boardimage 하나 더 대댓글/좋아요 등까지 있다면 한 번에 다 삭제해야 하기 때문에 이제 좀 더 심플한 수정부터 하겠다 일단 아직 사진 올리기 기능이 없으니 역시 심플하다 html을 보면 이렇게 로그인 사용자와 글 작성자가 같다면 수정/삭제가 가능한 형식이다 이제 선택을 해야 한다 수정을 누를 시 disabled가 사라져서 입력이 가능하게 할지 아니면 비슷한 페이지로 보내서 수정을 하고 오게 할지 음 대부분 수정 페이지가 따로 있던 거 같아서 수정 페이지를 만들 거다 여기서 또 하나의 선택이 있다 글쓰기 페이지를 재활용할지 하니면 똑같은 페이지를 하나 더 만들지 일단 하나더 만들어서 진행하겠다 con..

Springboot 게시판만들기!(5) 조회수

시스템은 글을 클릭하면 조회수가 올라가면 된다 service로가서 이전 getArticle만 조금 바꿔주면 된다 boardvo.getHit() 로 이전 조회수를 가져와서 boardvo.setHit 다시 set을 해주고 위에 있는 @Transactional 때문에 바로바로 db가 수정이 된다 jpa진짜 아주 편리하다 들어가면 조회수가 늘고 0->1로 db도 바뀌었다 뒤로 가기 해도 1이 되어있다! 이제 다음번엔 게시글 수정/삭제를 만들어보자!