Win2000+j2sdk1.4.2でEclipse2.1を使用して、
開発を行っております。
商品明細の画面を作っているんですが、
1ページ30明細にしたいと思っています。
つまり、検索サイトの検索結果画面のように、
30明細表示したら、次ページ+前ページの
リンクボタンを表示して、そのリンクボタンを押されたら、
同じJSP内で次ページの明細を表示するようにしたいんです。
いわゆるページング処理ってやつです。
で、今明細を表示する際には、BeansでDBを読み込んで、
そのRecordsetをJSPに渡して、getObject()を使用して、
明細表示しています。
ResultSet rs = (ResultSet)request.getAttribute("rs");
while(rs.next()){
out.println("<tr>");
for(int i=0;i<columns.length;i++){
out.println("<td>"+rs.getObject(i+1));
}
}
上のような感じで明細書いてます。
ASPの場合だとページ処理用にRecordsetオブジェクトにプロパティがあったので、割と簡単だったのですが、
JAVAの場合getObject(x)のxの数値をうまく変更してページ処理をするのがベターな方法なんでしょうか?
それでもできないわけじゃないんですが…めんどくさいし…バグ増えそうだし…
質問内容をまとめると、
1.JAVAのWebページ処理はどうやってやるのか?または、やっていますか?
2.RecordSetオブジェクトにページ処理用のプロパティ等あるのか?
という2つになります。
そもそも、RecordSetオブジェクトをまんま使って、明細書かないよっ!てなツッコミでもいいです。
回答お待ちしてます。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>JAVAの場合getObject(x)のxの数値をうまく変更してページ処理をするのがベターな方法なんでしょうか?
ページ処理だったらrs.next()の方ですよね?
while(rs.next())の前でResultSet#absolute()を呼び出すか、もしくはResultSet#next()を必要回数
呼び出してはどうでしょうか?
<%
ResultSet rs = (ResultSet)request.getAttribute("rs");
rs.absolute(30 * (n - 1)); //nはページ番号
%>
<% while(rs.next()){ %>
<tr>
<% for(int i=0; i<columns.length; i++) { %>
<td><%= rs.getObject(i+1) %></td>
<% } %>
</tr>
<% if (rs.getRow() >= 30 * n) break; %>
<% } %>
リンクをクリックする度にDBから該当レコードのみ読み込むとか、setAttribute()の前に
処理するという方法でも良いと思います。
#一般的な方法かどうかについては、まったく自信がありません。
返答ありがとうございます。
ふむふむ…おーっそうなのか…
absolute()使った方法でやってみます。
gimmickさんありがとうございましたっ!
ちなみに質問にはRecordSetって書いてありますけど、
ResultSetですね。間違えました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) Word のマクロについての質問です。 ボタンを押すと登録したブックマーク先にジャンプする機能(リン 3 2023/08/16 12:17
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- その他(IT・Webサービス) PCの画面表示 1 2022/08/05 11:06
- au(KDDI) 特定の画面を見るとスマホが固まります ご覧頂き有難うございます。 特定のページを見るとスマホが固まり 1 2023/08/21 19:29
- Word(ワード) Office 365のWordでオブジェクト挿入であるWord文書にほかのWord文書やPDFを貼り 2 2022/05/09 15:57
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- SEO 関係ないページを検索エンジンが拾ってしまう 1 2022/05/14 11:16
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tryの終了
-
tomcat(struts)で起動時に処理...
-
Javaプログラムからポップアッ...
-
Linux上でのTomcatのServletプ...
-
doGetとdoPostの違い
-
Javaでのデバッグコード削除
-
VBScriptでPing
-
Odbcオブジェクトの解放の方法
-
Javaアプリケーション実行の返...
-
C#で別スレッドの終了を知りたい
-
JavaでVBのDOEVENTSと同様の処...
-
二次元配列について
-
CPU使用率が100%になり特定のプ...
-
EXCELマクロ Workbook_BeforeC...
-
Androidアプリで本体の音量変更...
-
GASで、起動時間の最大値を超え...
-
Javaの再帰でメソッド呼び出す...
-
ブラウザを閉じた後のサーバ側...
-
無限ループをわざと作って時計...
-
JavaScriptからJAVAクラスを呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tryの終了
-
Tomcat高負荷時の設定について
-
onBlurとonFocusの処理順序につ...
-
Javaでのデバッグコード削除
-
ラジオボタンの選択判定
-
WPF C#でF10のイベント取得方法...
-
doGetとdoPostの違い
-
SwingUtilities.invokeLater(ne...
-
アコーディオンメニューをアン...
-
数値の定数を付ける時
-
switch文の中に、throws new Ex...
-
JAVAからJAVASCRIPT関数を呼び出し
-
再度、スレッドが実行中かどう...
-
ラベルの表示までが異常に遅い...
-
JavaScriptからJAVAクラスを呼...
-
javaのプログラムが止まる
-
Javaプログラムからポップアッ...
-
C#で別スレッドの終了を知りたい
-
vba Sleep関数について教えてく...
-
Tomcatのスレッドを破棄する方法
おすすめ情報