質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

6101閲覧

jQueryを用いたページング処理について

anna10

総合スコア24

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2015/04/16 12:30

jQueryを用いたページング処理についての質問です。

開発環境は、
Windows7
ブラウザ:IE
Java:1.6
eclipce:3.6
Tomcat:7.0
Oracle11g
となります。

以下のjspページに、ページング処理を施したいと考えています
現在は登録された情報が際限なく追加されていくので、10件毎に
「前ページへ」(ページ数)「次ページへ」
というような実装を盛り込みたいです。

<%@ page language="java" contentType="text/html; charset=Shift_JIS"
pageEncoding="Shift_JIS"%>
<%@ page import="java.util." %>
<%@ page import="java.io.
" %>
<%@ page import="bean.BookBean" %>
<%@ page import="operator." %>
<%@ page import="servlet.
" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>書籍情報一覧画面</title> <link rel="stylesheet" href="./css/design.css" type="text/css"> <script type="text/javascript" src="./js/function.js"></script> </head> <body> <table id="contents" summary="body"> <tr id="header"><td> <table width="100%"><tr><td>システム</td><td align="right"><a href="TopSrv">TOP</a></td></tr></table> </td></tr> <tr id="body"> <td align="center" valign="top"> <!-- 内容ココカラ --> <font size="7">一覧</font>

<% List<BookBean> list_ = (ArrayList<BookBean>)session.getAttribute("GENRESERCH_LIST"); %>

<form name = "form_serchList" method ="post" action ="BookSrv" > 書籍名検索 <br> 書籍名をどうぞ<input type = "text" name = "serchWord" > <input type = "hidden" name = "serch" value = "serch"> <input type="submit" value="検索"> </form>

<% List<BookBean> list = (ArrayList<BookBean>)request.getAttribute("BOOK_LIST"); %>
<%if(list.size() == 0){%>
<br>

<h1>書籍情報はありません</h1> <br> <%}%>

<%String error = (String)request.getAttribute("error");%>
<%if(error != null){%>
<font size = "5"><%=error %></font>
<%}%>

<table summary="regist" id="list" > <tr class ="title"> <td width="100px">名前</td> <td width="80px">ジャンル</td> <td width="120px">発売日</td> <td width="120px">人気</td> <td width="60px">在庫</td> <td width="200px">コメント</td> <td></td> </tr>

<%CharOperator co = new CharOperator(); %>
<%for(BookBean bbean:list){ %>

<tr class ="sample" > <td><%= co.replace(bbean.getName()) %></td> <td><%= co.replace(bbean.getGenre()) %></td> <td><%= bbean.getReleaseDay() %></td> <td width="110px" > <% int i = 1; %> <% int j = bbean.getPopularity(); %> <% while(i <= j){ %> ★ <% i++; %> <%}%> </td> <td> <%if("1".equals(bbean.getStock())){%> あり <%}else if("0".equals(bbean.getStock())){ %> _ <%}%> </td> <td><%= co.replace(bbean.getComment()) %></td> <td> <form method="post" name="form_delete" action ="ListSrv"> <input type="submit" value="削除" onclick="return deleteList()" style="margin:2px; float:left;"> <input type="hidden" name="id" value="<%=bbean.getId()%>"> </form> <form method="post" name="form_update" action ="UpdateSrv" style="margin:2px; float:left;"> <input type="submit" value="更新" > <input type="hidden" name="id" value="<%=bbean.getId()%>"> </form> </td> </tr> <% } %> </table> <!-- 内容ココマデ --> </td> </tr> <tr id="footer"><td> </td></tr> </table> </body> </html>

当初はSQL文を追加してDAOとservletを用いた方法を模索していたのですが、
jQueryでも出来る、というような内容の記述を見つけ、以下のHTMLでインチキページング処理を記述してみました。

<!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <title>jQueryによるテーブルのページ送り</title> <script> $(function() { var page = 0; function draw() { $('#page').html(page + 1); $('tr').hide(); $('tr:first,tr:gt(' + page * 10 + '):lt(10)').show(); } $('#prev').click(function() { if (page > 0) { page--; draw(); } }); $('#next').click(function() { if (page < ($('tr').size() - 1) / 10 - 1) { page++; draw(); } }); draw(); }); </script> <style> td, th { border: 1px solid black; padding: 2px; } #prev, #next { color: red; cursor: pointer; } </style> </head> <body> <table> <tr><th>MS</th><th>パイロット</th></tr> <tr><td>RX-78-2ガンダム</td><td>アムロ・レイ</td></tr> <tr><td>Zガンダム</td><td>カミーユ・ビダン</td></tr> <tr><td>ガンダムMk-2</td><td>エマ・シーン</td></tr> <tr><td>ハンブラビ</td><td>ヤザン・ゲーブル</td></tr> <tr><td>ジ・O</td><td>パプテマス・シロッコ</td></tr> <tr><td>ZZガンダム</td><td>ジュドー・アーシタ</td></tr> <tr><td>νガンダム</td><td>アムロ・レイ</td></tr> <tr><td>サザビー</td><td>キャスバル・レム・ダイクン</td></tr> <tr><td>ユニコーンガンダム</td><td>バナージ・リンクス</td></tr> <tr><td>シナンジュ</td><td>フル・フロンタル</td></tr> <tr><td>クシャトリヤ</td><td>マリーダ・クルス</td></tr> <tr><td>バンシィ</td><td>リディ・マーセナス</td></tr> <tr><td>ローゼン・ズール</td><td>アンジェロ・ザウパー</td></tr> <tr><td>ロト</td><td>ダグザ・マックール</td></tr> <tr><td>ガンダムF91</td><td>シーブック・アノー</td></tr> <tr><td>クロスボーンガンダムX1</td><td>キンケドゥ・ナウ</td></tr> <tr><td>クロスボーンガンダムX2</td><td>ザビーネ・シャル</td></tr> <tr><td>フリーダム</td><td>キラ・ヤマト</td></tr> <tr><td>プロヴィデンス</td><td>ラウ・ル・クルーゼ</td></tr> <tr><td>デスティニー</td><td>シン・アスカ</td></tr> <tr><td>レジェンド</td><td>レイ・ザ・バレル</td></tr> <tr><td>ゴールドフレーム天ミナ</td><td>ロンド・ミナ・サハク</td></tr> <tr><td>ソードカラミティ</td><td>エドワード・ハレルソン</td></tr> <tr><td>ガンダムエクシア</td><td>刹那・F・セイエイ</td></tr> <tr><td>ガンダムサバーニャ</td><td>ロックオン・ストラトス</td></tr> <tr><td>ガンダムハルート</td><td>アレルヤ・ハプティズム</td></tr> <tr><td>ラファエルガンダム</td><td>ティエリア・アーデ</td></tr> </table> 前へ 次へ </body> </html>

サイトの見様見真似ですが、この中で一応ページング処理が出来ています。
これをjspページにも導入したいのですが、それは可能なのでしょうか?
そしてもし可能であるなら、方法を教えて頂けないでしょうか?
どうかよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_S_

2015/04/16 12:56

コードの部分をちゃんとコードの表記にした方がわかりやすいですよ。 編集時に「</>」というアイコンのボタンがありますので、それを押してください。 以下のように書けば、非常に見やすくなるでしょう。 ```lang-HTML <!DOCTYPE html> ... ```
guest

回答1

0

ベストアンサー

単に、tableの部分をjspを使って吐き出すようにすればそれで動くと思いますよ。

但し、ページング処理というのはデータを取得・転送するコストが嵩むのを避けるために行うモノなので、そもそもjQueryによるインチキページングじゃダメなんじゃないですか?

投稿2015/04/16 13:56

AknEp

総合スコア200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問