728x90

전체 글 76

[DIOS] 쇼핑몰 리뷰 < Paging | Pagination > 구현

오늘은 리뷰페이징에 대해 기록 해보자 ! 지난번에 포스팅한 목록페이징 같은 경우엔, list.html 그 자체에서 상품을 가져올때 페이징처리 해주고 html 타임리프 사용해서 넣어주면 끝이였는데, 이번에 리뷰페이징은 컨트롤러에서 애초에 JSON타입으로 값을 보내주기도 했고, 상품 읽기 페이지 안에 자바스크립트로 반복문을 실행하면서 리뷰를 가져오는거라 페이징 처리에 접근하기가 조금 난감했는데, 강사님께 여쭤보니 javaScript xhr 로 페이징을 해야한다는 힌트를얻고 시작 ! : 페이징 처리하기위해 필요한 모델 패키지/컨트롤러 생성 후 변수 3개 받았을때 처리할 메서드 만들기 public PagingModel(int countPerPage, int totalCount, int requestPage) {..

Project 2023.01.18

[DIOS] 게시판 비밀댓글 구현

비밀댓글 작성 구현 구상 (요청 보낼때) 1. javaScript로 isSecret 변수 선언 후 아이콘 클릭할때마다 변경값을 저장한다.(나는 boolean 타입으로 지정함) 2. 댓글 작성, 댓글 수정, 대댓글 작성, 대댓글 수정 ajax 요청 보낼때마다 isSecret 값도 같이 컨트롤러 값에 넣어준다. 3. Controller에서 받은 값을 comment.setIsSecret('넘겨받은 값'); 으로 처리하여 값을 저장해준 후 서비스 처리! 4. 각 상황에 맞는 서비스 로직 구현 1. javaScript로 isSecret 변수 선언 후 아이콘 클릭할때마다 변경값을 저장. let isSecret = false; // 공개여부 기본값을 공개로 설정 const secret = window.document..

Project 2023.01.18

[SprinBoot] @ResponseBody 어노테이션

리뷰 불러오기가 안돼서 콘솔창을 확인해보니 타임리프 경로 에러가 떴다. 근데 아무리 봐도 무슨 문제인지 모르겠어서 곰곰히 생각해보니 그렇다. 나는 JSON으로 처리한다고 해놓고 ResponseBody를 넣어주지 않았다.. 허겁지겁 넣어주고 다시 실행해보면 아주 잘 불러와진다 ^_^ @ResponseBody 이 어노테이션이 붙은 파라미터에는 http 요청의 본문(body)이 그대로 전달되며 HTTP 요청의 바디내용을 통째로 자바 객체로 변환해서 매핑된 메소드 파라미터로 전달해준다. json이나 xml 기반의 메세지를 사용하는 요청의 경우에는 마지막에 '/' 가 붙으므로 나처럼 경로가 잘못들어가 오류가 생길 위험이 크기때문에 요청방식을 잘 보고 꼭 ! @ResponseBody 어노테이션을 넣어야 오류를 줄일..

Spring 2022.12.27

[SpringBoot] 게시판 목록 < paging | pagination > 처리 및 검색기능 구현 코드

나의 첫 포스팅 😮‍💨 프젝하다가 페이징 처리 해야하는데 복습 안했더니 기억안나서 부랴부랴 되짚어보는 페이징 부분 정리 ! 우선 컨트롤러를 작성하기 전에 페이징에 필요한 정보를 정리해보자. 페이징(Paging)|페지네이션(Pagination) - [c]페이지 당 표시할 게시글의 수(경우에 따라 다르지만 클라이언트에게 맡기는 경우가 대부분이지만 우린 상수로 빼놓을것) : 10 - [P]요청한 페이지 번호 > Assert >=1 - [t]전체 게시글의 개수 > DB - [n]이동 가능한 최소 페이지(): t%c !=0 ? (t/c)+1 :t/c || (t-1)/c+1 > 후자가 성능상 유리함 - [s] 표시 시작 페이지: p/10 == 0 ? 1 : 10 * (p/10)+1 || ((p-1)/10)*10+1..

Spring 2022.12.26
728x90