검색결과에 따라서 페이징이 달라져야 함.
한 페이지에 게시글 10개씩 표시
- 페이지 번호 부분이다. 현재 페이지를 나타내는
currentPage
를 총 페이지 개수를 나타내는pageNumber
까지 반복하게끔 하여 페이지를 출력한다.
- 컨트롤러로부터 총 개수를 나타내는
totalvalue
를 받아온다.- 한 페이지당 10개씩 표시 할 것이기 때문에 10으로 나눳을때 딱 맞아 떨어지지 않을 때 한페이지씩 더한다.
- 만약 그렇지 않다면
pageNumber
은 10으로 나눈 몫의 값으로 나타낸다.
- view에서 받아온
page
를GetTableDAO
의 메서드getTable
의 인자로 넘겨준다.
GetTableDAO
의 메서드getTotal
함수에 현재 키워드를 넣어 총 개수를 구한 후totalvalue
에 넣고 그 값을 view로 보내준다.
- 받아온 키워드를 조건으로 넣고 데이터의 개수를 세는
COUNT
를 이용해 숫자를ResultSet
객체에 담는다.
- 위에 주소를 보면 페이지 번호에 따라서 게시글목록이 바뀌는 것을 알 수 있다.
- 검색어를 입력해서
searchKeyword
의 이름으로search
로 매핑된 컨트롤러로 전송한다.
- 해당 키워드가 만약에 null값이면
searchKeyword
값을 ""으로 정의하고, 만약에 그렇지 않다면 데이터가 넘어 온 것 이기 때문에 view에서 넘어온 데이터를searchKeyword
에 담아준다.
- 담은 데이터를 DAO객체의
getTable
함수의 인자로 넘겨준다.
- 그 후 검색결과에 따른 페이징 처리를 위해
searchKeyword
를table.jsp
로 보내준다.
(view에서 받아온 searchKeyword)
- 컨트롤러로부터 넘어온
searchKeyword
를 받아와서 sql문의 %를 이용하여 데이터를 검색한다.
(해당searchKeyword
의 값이 만약 null값이면 ""로 처리했기 때문에 전체데이터가 나옴)