<%@ page contentType="text/html; charset=EUC-KR" %>
<%@ page import="member.*,java.util.*"%>
<jsp:useBean id="Bo" class="member.BoMgr"/>
<%
request.setCharacterEncoding("euc-kr");
%>
기본적인 셋팅과 자료를 가져와 리스트 업 시킬 클래스파일인 BoMgr 을 아이디 설정하자.
변수들을 셋팅 하자.
<%
int totalRecord=0; // 전체 레코드 수
int numPerPage=10; // 페이지 당 레코드 수
int pagePerBlock=10; // 블록 당 레코드 수
int totalPage=0; // 전체 페이지 수
int totalBlock=0; // 전체 블록수
int nowPage=0; // 현재 페이지
int nowBlock=0; // 현재 블록
int beginPerPage=0; // 페이지의 시작번호
Vector boList; // Select 로 검색한 자료들을 담아올 벡터형 변수
%>
저 많은 변수들이 말해주듯 게시판 구성은 복잡하다.
우선 단 한 개의 레코드라도 리스트에 불러오는 것이 목적이다.
간단하게 Title 레코드만 불러와서 테스트 후 각자 추가하도록 하자
<body >
<table>
<tr>
<td width=50>번 호</td>
<td width=350>제 목</td>
</tr>
<tr>
<td></td>
<td><%=title%></td>
</tr>
</td>
</table>
너무나도 간단한 리스트가 만들어졌는데 이상태에선 에러가 난다.
<%=tilte%> 명령어를 만족시키기 위해
select 시킨 MySql 자료를 불러오자
아마도 빈즈에 담겨있겠지?
<td width=350>제 목</td>
</tr>
<%
BoBean ListBo = (BoBean)boList.elementAt(i);
String title = ListBo.getTitle();
%>
<tr>
<td></td>
<td><%=title%></td>
사이에다가 추가해주자.
import 했던 빈즈의 구조를 가지는 변수 ListBo 에다가
백터형 boList 변수의 내용을 대입한다.
boList 안에는 (BoBean) 의 내용이 담겨져 있다
아시다시피 빈즈의 속에는 각각의 컬럼들이 있다.
여러 자료를 한번에 담기 위해 백터형 변수를 쓰고 한번에 뽑아내기 위해
elementAt(i) 를 통하여 백터변수에 접근한다.
입력창을 통하여 12개의 글을 입력해 놓았다.
모두 불러내어 리스트 업 하기 위해서 FOR 문을 사용하자.
<%
for (int i=beginPerPage; i<(beginPerPage+numPerPage); i++){
if (i==totalRecord){break;}
BoBean ListBo = (BoBean)boList.elementAt(i);
String title = ListBo.getTitle();
%>
For 문에 나온 세가지 변수의 값을 구해야 한다.
beginPerPage = nowPage * numPerPage;
페이지 넘버링 1 2 3 4 5 6 7 8 9 10 만들때
2번을 누를경우 nowPage 로 1을 ++ 하여 넘긴다.
이러면 첫페이지는 0 이니까 0 ~9 까지 다음은 1 이니까 10~ 19 까지 열개씩 나열한다.
numPerPage = 페이지당 레코드 개수로 이미 10 개로 설정했다.
totalRecord = 총 레코드 수 는 select 하는 메소드를 반환하여 값을 얻는다.
boList = Bo.getBoList();
totalRecord = boList.size();
백터형 변수 = Bo(BoMgr.class) 속의 메소드 BoList 의 결과를 담고
.size() 로 갯수를 추출해서 토탈레코드에 담자
12 개 작성했다면 Select 가 12번 실행되었으니 12가 추출된다.
댓글 없음:
댓글 쓰기