자바개발과정/JSP&Servlet

회원관리 시스템 쪽지(페이징 처리 기법)

경진 2008. 7. 23. 17:35
회원관리 시스템 쪽지(페이징 처리 기법)

sendMemoPageList.jsp 페이지 작성한다 파일 이름을 receiveMemoPageList.jsp로 변경했다.

<!-- 쪽지 일읽어 오는 부분 sendMemoList.jsp에서 가져옴 -->
<%
 Cookie[] cookies = request.getCookies();
 String mem_id = "";
 for(int i=0;i<cookies.length;i++) {
  if(cookies[i].getName().equals("memId")) {
   mem_id = cookies[i].getValue();  
  }
 }
 //사용자가 로그인한 아이디 값을 memoList 메소드에 보낸다.
 //보내진 mem_id값은 member 테이블과 조인을 걸 때 사용된다.
 MemoVO[] movos = moCtrl.sendmemoList(mem_id);
 int size = movos.length; //읽어온 쪽지의 갯수
%>

상단 스크립트릿을 기존 sendMemoList.jsp에서 긁어왔다.
전체 읽어온 개수를 알아오기 위한 size변수를 선언하고 배열의 길이 값을 size에 대입한다.

<script language="javascript">
 function clearAll(size) {
  for(x=size; x<document.send_form.elements.length; x++){
   if(document.send_form.elements[x].checked == 1) {
    document.send_form.elements[x].checked == 0;
   }
  }
 }
 function checkAll(size) {
  //체크 박스(checkall, 전체체크박스)를 클릭 했을 때
  if(document.send_form.checkall.checked == 1) { //1이면 체크박스를 모두 선택한다
   if(size>1) {
    for(i=0; i<size; i++) {
     document.send_form.id_checkAll.checked = 1;
     document.send_form.from[i].checked = 1;
    }
   } else {
    //1개일때 배열로 인식을 안해서 넣었다.
    document.send_form.from.checked = 1;
   }
  //전체 체크 박스를 해지 했을 때
  } else {
   if(size>1) {
    for(i=0; i<size; i++) {
     document.send_form.from[i].checked = 0; //0이면 체크박스 선택이 해제한다.
    }
   } else {
    document.send_form.from.checked = 0;    
   }
  }
 }
</script>

자바스크립트 부분을 삽입했다. 체크 박스를 선택하면 전체 선택을 구현하는 부분이다.

PageBar.java 페이지를 작성했다. 현재 페이지와 전체 페이지 등등의 값을 구하기 위한 메소드가 들어있다.