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

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

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

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

Java

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

jQuery

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

Q&A

1回答

2655閲覧

もっと見るボタンを実装したい

kei-chan

総合スコア14

JSP

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

Java

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

jQuery

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

0グッド

0クリップ

投稿2018/04/25 01:12

編集2018/04/25 03:53

struts,javaでページングの実装をしました。
1ページ、2件づつでデーターを表示しています。

現在→ 1 2 3 

これを下記の実装に変える
実現したい事→ もっと見る

上記のようにjspでもっと見るに表示し

 もっと見る画面 を押下後、追加で2件ずつ表示されていく実装に変えたいです。

下記コードをかえてJavaだけで実装できるのか、javaScriptなどで実装する必要があるのか
初心者の為、悩んでいます。また足してできるならどのようにしたらよいか
ヒントを頂ければ幸いです。

/** * ページ送りメソッド * * @param form * @throws SQLException */ public int[] countAll(ViewForm form) throws SQLException { ResultSet rs = null; // OrdersBean update = null; PreparedStatement ps = null; DBConnecter conn = new DBConnecter(); String count = "select count(*) as record from projects p " + "INNER JOIN orders o ON o.project_code = p.project_code " + "INNER JOIN received_orders r ON r.project_code= p.project_code " + "INNER JOIN companies oc ON oc.company_id = o.company_id " + "INNER JOIN companies rc ON rc.company_id = r.company_id where 1 = 1"; StringBuilder query = new StringBuilder(count); search(query);// 検索 ps = conn.connect().prepareStatement(query.toString()); set(ps);// LIKE文にバインドする // sqlを送る rs = ps.executeQuery(); // 取ってきたrecordがレコード数なのでそれを変数recordに代入する int record = 0; if (rs.next()) { record = rs.getInt("record"); } int p = (record / MAX_VIEWS) + (record % MAX_VIEWS == 0 ? 0 : 1); int[] pages = new int[p]; for (int i = 0; i < pages.length; ++i) { pages[i] = i + 1; } // 最後にレコード数を返す return pages; }

//Jsp
<%-- Actionから受け取ったpages配列の要素をpgという名前で扱い、要素数分処理を繰り返す --%>
<html:form action="/view">
<logic:iterate id="pg" name="pages">

<%-- EL式を使って要素pgを展開し、同時に押されたボタンの番号(value)を pという名前で(name)ActionFormのpにセットする --%> <button name="p" value="${pg}">${pg}</button> </logic:iterate> <html:link action="/member">もっと見る</html:link>

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

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

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

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

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

Atsushi_Okumura

2018/04/25 01:33

画面遷移を伴わず動的に見せたいのであればjavascriptを使用する必要があります。実装内容に関してはご自身で一度調べ、実際にやってみてからもう一度ご質問されたほうがいいかと思います。
m.ts10806

2018/04/25 01:39

質問編集画面タイトル横にある「初心者アイコン」をご活用ください。「初心者」と質問で書くよりも伝わります。
m.ts10806

2018/04/25 01:40

いまひとつ、要件部分・どうなればゴール というところが見えません。図示のような形の方が伝わるかもしれません。
m.ts10806

2018/04/25 02:00

「追加で2件」というのはあくまでページ番号の話ですね? 全5ページあったとして、3ページ分の番号だけ表示、残り2ページは隠しておき「もっと見る」を押したら数字だけ出す、とかでしょうか。(3ページを超えていない場合は「もっと見る」出さない?) 「画面」というので引っ張られてしまっていますが、実際はどのような動きになるのでしょうか?仕様部分を具体的に記述してください。
kei-chan

2018/04/25 02:01

Atsushi_Okumuraさん 朝のお忙しい中、返信ありがとうございます。javaScriptの実装法を調べてみます。
kei-chan

2018/04/25 02:04

mts10806さん  朝のお忙しい中、返信ありがとうございます。誤字がありました。もう一度わかりやすく訂正します少々お待ちください。
kei-chan

2018/04/25 04:00

mts10806さん123のボタンを表示したページングはJavaだけで実装しましたが、もっと見るに変え、データーを2件づつ表示させるに変えるには、Javaだけではかけないのかという疑問です!
guest

回答1

0

ajaxですね。JavaScriptを利用した非同期通信です。

実装方法については「Java ajax」とかでQiitaの記事を探されると良いかと。

手順的には下記のようになるかなと思います。

  1. 初期データをlimitをかけて取得しておく
  2. 全データが1.のlimitを超える件数だった場合に「もっと見る」を表示、現在表示している最終列番号を保持
  3. 「もっと見る」を押したら2.の最終保持番号を渡してajax通信 次の○件(今回は2件)を取得して返す
  4. 3.で受け取った情報を元の一覧にappendし、保持していた最終保持番号を更新
  5. 4.時点で最終保持番号=最後のデータの列番号 だった場合に「もっと見る」を削除

投稿2018/04/25 04:29

m.ts10806

総合スコア80850

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

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

kei-chan

2018/04/25 09:31

手順や検索方法までご丁寧にありがとうございます。とてもわかりやすいです。 ちなみにですが、limitとはSQL文のデーターベースでよろしいでしょうか?
m.ts10806

2018/04/25 10:10

> limitとはSQL文のデーターベースでよろしいでしょうか? 若干表現が怪しいですが、SQLのSELECT文のオプションでつけるものです。 offset limit で「x件目からy件」のようなデータの取得をしたい時に利用します。
kei-chan

2018/04/26 00:42

おはようございます。ありがとうございます。試してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問