(Servlet CRUD 게시판) 페이징, 검색 처리 구현

김지인·2022년 8월 9일
0
post-thumbnail

페이징, 검색 들어가기 앞서서..

  1. 검색결과에 따라서 페이징이 달라져야 함.

  2. 한 페이지에 게시글 10개씩 표시


view에서 페이징처리

  • 페이지 번호 부분이다. 현재 페이지를 나타내는 currentPage를 총 페이지 개수를 나타내는 pageNumber까지 반복하게끔 하여 페이지를 출력한다.
  • 컨트롤러로부터 총 개수를 나타내는 totalvalue를 받아온다.
  • 한 페이지당 10개씩 표시 할 것이기 때문에 10으로 나눳을때 딱 맞아 떨어지지 않을 때 한페이지씩 더한다.
  • 만약 그렇지 않다면 pageNumber은 10으로 나눈 몫의 값으로 나타낸다.

페이징 컨트롤러, DAO

  • view에서 받아온 pageGetTableDAO의 메서드 getTable의 인자로 넘겨준다.

  • GetTableDAO의 메서드 getTotal 함수에 현재 키워드를 넣어 총 개수를 구한 후 totalvalue에 넣고 그 값을 view로 보내준다.
  • 받아온 키워드를 조건으로 넣고 데이터의 개수를 세는 COUNT를 이용해 숫자를 ResultSet객체에 담는다.


  • 위에 주소를 보면 페이지 번호에 따라서 게시글목록이 바뀌는 것을 알 수 있다.

검색 view

  • 검색어를 입력해서 searchKeyword의 이름으로 search로 매핑된 컨트롤러로 전송한다.

검색 컨트롤러

  • 해당 키워드가 만약에 null값이면 searchKeyword 값을 ""으로 정의하고, 만약에 그렇지 않다면 데이터가 넘어 온 것 이기 때문에 view에서 넘어온 데이터를 searchKeyword에 담아준다.
  • 담은 데이터를 DAO객체의 getTable 함수의 인자로 넘겨준다.
  • 그 후 검색결과에 따른 페이징 처리를 위해 searchKeywordtable.jsp로 보내준다.
    (view에서 받아온 searchKeyword)

검색 DAO

  • 컨트롤러로부터 넘어온 searchKeyword를 받아와서 sql문의 %를 이용하여 데이터를 검색한다.
    (해당 searchKeyword의 값이 만약 null값이면 ""로 처리했기 때문에 전체데이터가 나옴)
profile
에러가 세상에서 제일 좋아

0개의 댓글