나의 상세한 JSP 페이징 프로그램! (오라클+jsp+아파치)
첫 번째 전제는 처음에 최신 레코드를 사용하여 테이블에 대한 쿼리를 생성하는 것입니다.
테이블: 마이테이블
그중
에서 레코드 ID 번호를 자동으로 늘리려면 시퀀스 번호 생성 시퀀스 mytable_sequence를 사용하는 것이 가장 좋습니다.
<%String sConn="연결"
Class.forName("oracle.jdbc.driver.OracleDriver");
연결 conn=DriverManager.getConnection(sConn,"사용자 이름","비밀번호");
명령문 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
명령문 stmtcount=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from mytable_view");
String sqlcount="mytable_view에서 개수(*) 선택";
ResultSet rscount=stmtcount.executeQuery(sqlcount);
int pageSize=각 페이지에 표시되는 레코드 수;
int rowCount=0; //총 레코드 수
동안(rscount
int pageCount; //총 페이지 수
int currPage; //현재 페이지 번호
문자열 strPage;
strPage=request.getParameter("페이지");
if (strPage==null){
현재페이지=1;
}
또 다른{
currPage=Integer.parseInt(strPage);
if (currPage<1) currPage=1;
}
페이지카운트=(rowCount+pageSize-1)/pageSize;
if (currPage>pageCount) currPage=pageCount;
int thepage=(currPage-1)*pageSize;
정수 n=0;
rs.absolute(페이지+1);
while (n<(pageSize)&&!rs
%>
<%rs.close();
rscount.close();
stmt.close();
stmtcount.close();
conn.close();
%>
//다음은 페이지 등입니다.
<form name="sinfo" method="post" action="sbinfo_index.jsp?condition=<%=condition%>&type=<%=type%>" onSubmit="return testform(this)">
페이지 <%=currPage%>, 총 <%=pageCount%>, 총 페이지 <%=rowCount%>
<%if(currPage>1){%><a href="sbinfo_index.jsp?condition=<%=condition%>&type=<%=type%>">홈페이지</a><%}%>
<%if(currPage>1){%><a href="sbinfo_index.jsp?page=<%=currPage-1%>&condition=<%=condition%>&type=<%=type%>">이전 페이지 </a><%}%>
<%if(currPage<pageCount){%><a href="sbinfo_index.jsp?page=<%=currPage+1%>&condition=<%=condition%>&type=<%=type%>">다음 페이지 </a><%}%>
<%if(pageCount>1){%><a href="sbinfo_index.jsp?page=<%=pageCount%>&condition=<%=condition%>&type=<%=type%>">마지막 페이지</ a><%}%>
<input type="text" name="page" size="4" style="font-size:9px"> 페이지로 이동
<input type="submit" name="submit" size="4" value="GO" style="font-size:9px">
</form>
~ 위에