私の詳細な JSP ページング プログラムです。 (オラクル+jsp+apache)
最初の前提条件は、先頭に最新のレコードを含むテーブルのクエリを作成することです。
テーブル: mytable
2 番目のソース プログラム
を自動的に増やすには、シーケンス番号 create sequence 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");
文字列 sqlcount="select count(*) from mytable_view";
ResultSet rscount=stmtcount.executeQuery(sqlcount);
int pageSize=各ページに表示されるレコードの数。
int rowCount=0; //レコードの総数
while (rscount
int pageCount; // 総ページ数
int currPage; //現在のページ番号
文字列 strPage;
strPage=request.getParameter("ページ");
if (strPage==null){
currPage=1;
}
それ以外{
currPage=Integer.parseInt(strPage);
if (currPage<1) currPage=1;
}
pageCount=(rowCount+pageSize-1)/pageSize;
if (currPage>pageCount) currPage=pageCount;
int thepage=(currPage-1)*pageSize;
int 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>
以上