Paging.java

//Paging class를 생성하고 변수 선언하고 getter and setter method 를 생성

//startNum와 endNum 는 database query문에 사용될변수로 값을 지정한다

//setTotalCount method 실행시 자동으로 paging method를 실행시킨다

//page: 현재 페이지로 defalut값을 1로설정한다

//처음과 끝 page를 받아올 변수로 beginPage, endPage를 선언한다

//한번에 표시할 record 갯수를 나타낼 변수로 displayRow=10을 선언한다

//한번에 표시할 page의 갯수를 나타낼 변수로 displayPage=10을 선언한다

//prev와 next를 true, false값으로 나타내기위해 boolean형으로 변수를 선언한다

//endPage는 마지막 page를 나타내므로 현재페이지가 10이하일경우 마지막page는 항상 10이여야한다

 

//endPge = Math.ceil(page/displyaPage)*displayPage를 하게되면 page가 10이하일경우

//page/display에서 항상 1 이하의 값이 나오게되고 Math.ceil로 올림을하면 1의값이출력되고

//거기에 display 10을 곱해주면 항상 10의 값이 나오게된다

 

//beginPage는 값이 10일경우 항상 1이나와야하므로 beginPage=endPage-(display-1)로 처리한다

 

//totalPage는 게시글이 하나라도 존재하면 page가 존재해야하므로 Math.ceil(totalCount/displayRow)를 이용한다

 

//next값은 totalPage가 endPage와 같거나 작을경우 false로 안보이게하고 endPage를 초과할경우에 true값을준다

 

//prev값은 beginPage가 1이아닐경우 무조건 표시이므로 beginPage가 1일경우 false로주고 나머지를 true값을설정한다

frontController

//기존에 쓰던데로 boardList.do가 실행될시 bListCommand가 실행되게하고

//bListCommand에 code를 추가시켜서 작동하게한다

bListCommand

// 변수 count를 선언하고 getAllcount method를 이용해 전체 게시글을 int형으로 받아온다

// 현재 page를 1로 선언하고 if문을 통해 page값을 받아온다

// Paging 객체 paging을 선언하고 paging에 page값과 count값을 setting한다

//dao.list method를 호출할때 매개변수를 paging으로 줘서

//Paging에 설정한 getStartNum와 getEndNum를 이용해

//list method에서 startNum와 endNum값을 가져올수 있게한다

//data를 가져와 dtos에 저장한다

//list와 paging에 입력된값을 setting 시킨다 

boardDAO

//list method에서 paging값을 매개변수로 받아와 startNum와 EndNum를 구하고 database 검색에 활용한다

//"select * from"
+"(select * from(select rownum as row_num, bId, bName, bTitle, bContent, bDate, bHit, bGroup, bStep, bIndent from"
+ " (select * from board order by bGroup desc, bStep asc))" 
+"where row_num >= ?) where row_num <=?";

//쿼리문작성시 order by보다 rownum가 먼저수행되므로 rownum을 제외한 값을 먼저 orderby로 정렬시켜준후 rownum을실행해야한다

//dto.setBId(rs.getBId("bId")); dtos.add(dto); 와같이 입력해줄수도있다

paging.jsp

//값을 가져와서 출력한다

//c:url은 boardList.do라는 경로를 action이라는 면수명으로 setting한다

// if test 는 prev가 true일경우 표시하겠다는뜻

//prev값을 누를경우 beginPage-1을하고 action에 setting된 boardList.do를 실행한다는의미

//beginPage와 endPage를 param을 이용해 가져오고 index에 step=1을설정해 

//beginPage부터 endPage까지 1씩 증가시키면서 출력시키겠다는 뜻이다

//param을 이용해 가져온 page값이 index와 같을경우 클릭할수없고 다를경우만 클릭할수있다

//현재페이지는 클릭불가능하게하기위해서이다

//next값이  true일경우 표시하고 클릭할경우 endPage에 1을 증가시키고 action에 setting된 boardList.do를 실행

boardList.jsp

//paging.jsp에 출력된값을 include를 이용해 가져온다

//bListCommand에서 request.setAttribute("paging",paging);을 설정하고

//boardList.jsp에서 value에 paging.page, name에 page값을설정해서

//paging.jsp에서 ${param.page}를 이용해 값을 받아올수있게된다

'project(website)' 카테고리의 다른 글

First project -final  (0) 2019.09.10
First - admin page 1  (0) 2019.08.23
First - login session function  (0) 2019.08.21
First - board(front controller, command)  (0) 2019.08.20
First - navigation, include  (0) 2019.08.17

+ Recent posts