いつもお世話になっております。echo2002です。
さて、今回は以下のような処理を行いたいのですが、可能なのでしょうか?
”servletで作成したオブジェクトの配列をjspにforwardして表示させる”
こんなような処理を考えています。
構成:FileListServletクラス, FileInfomationクラス, disp.jsp
FileInfomationクラスではファイル名やファイルサイズなどの情報を持ち、
それぞれgetなどのアクセサメソッドを持つとします。
FileListServletクラスでの処理
FileInfomationクラスの配列を作成し、各情報をsetする。
HttpServletRequestにsetAttributeでFileInfomation情報を付加し、
disp.jspへforwardする。
※以下の方法を考えています。
request.setAttribute("fileinfo1", fileinfo[0]);
request.setAttribute("fileinfo2", fileinfo[1]);
request.setAttribute("fileinfo3", fileinfo[2]);
・・・
(配列でsetAttributeできるのかわからなかったので、
とにかくファイルの数分setAttributeしてみました)
getServletContext().getRequestDispatcher("/disp.jsp").forward(req, res)
わからないこと:
disp.jspでどのようにFileInfomationの情報を取得し、
内容を参照できるのかがよくわからないのです。
jspの暗黙オブジェクトrequestを使用して、request.getParameterをすると、
返ってくる値がStringのようなので、FileInfomationクラスにならないんですよね?
突っ込みどころ満載の質問かと思いますが、何かアドバイス頂ければと思います。
オブジェクトの配列をsetAttributeしてjspで読み出せる方法があれば、
それもご教授いただけますでしょうか。
よろしくお願いいたします。jsp難しいです・・・。
No.3ベストアンサー
- 回答日時:
setなんちゃらメソッドで値を設定したら、getなんちゃらメソッドを呼べば良かったのです。
つまり、set/get以下が同名のメソッド同士をセットで使えば良いのです。今回の場合は、getAttributeメソッドですね。
戻り値はObjectですがこれはキャストすれば良いのです。
FileInfomation 変数 = (FileInfomation)request.getAttribute("fileinfo1");
てな具合です。
なお、getParameterメソッドは、クライアント(ブラウザ)から送信されたパラメータを取得するメソッドです。
さて、話を次の段階に進めて、配列を受け渡しできるか?となりますが、、できます。
サーブレット側で、
request.setAttribute("キー文字列", fileinfo);
として、JSP側で、
FileInfomation[] 変数 = (FileInfomation[])request.getAttribute("キー文字列");
とすれば、良いのです。
run34rickyさん回答ありがとうございます。
私が望んでいた形にほとんどぴったりなやり方のようです。まだ試してみていないのですが、これからやってみようと思います。できるとうかがっただけでかなりやる気が出てきました(^^;
ありがとうございました。
No.2
- 回答日時:
まず、fileinfoの配列ですが、配列ではなく
VecterやListなどの可変長配列にセットしていって
みてはいかがでしょう?
※例えばVecter
Vecter vecData = new Vecter();
:(Vecterオブジェクトにセット)
request.setAttribute("fileinfo1", vecData );
サーブレット側ではこうなります。
Jsp側ではVecterのオブジェクトを用意してあげて
キャストしてあげてください。
vecter = (Vecter)request.getAttribute("fileinfo1");
こんな感じ。どうでしょうか?
ishitoさん回答ありがとうございます。
Vecterというオブジェクトは知らなかったので、
これから調べてみようと思います。
ありがとうございました。
No.1
- 回答日時:
torakiyojpさん、回答ありがとうございます。
このページ、ここに質問させていただく前にも一応目を通していたのですが、オブジェクトが”配列”だった場合はどうなるのかがよくわからなかったんです。
教えていただいて、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP クラス 1 2022/08/08 15:12
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- バックアップ ファイル履歴を使用してバックアップよりハードディスクドライブに保存した方良いですか? 3 2022/09/29 22:31
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- 中学校 娘のクラスの学級通信に個人情報が掲載されていて、非常に不快です。 7 2022/04/22 18:02
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
JSPでのArrayListの表示について困っています
Java
-
Javascriptの値をJava(JSP)へ渡す方法
Java
-
-
4
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
5
ServletからServletへの値渡し
Java
-
6
Java-jspの画面入力値保持について
Java
-
7
リクエストに応じたselectedの初期値設定方法
Java
-
8
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
9
setAttribute getAttribute 配列内容受け渡し について
Java
-
10
JavaScript window.openで開く際、そのwindowの背景色を指定したい
JavaScript
-
11
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
-
12
ラジオボタンのNullチェック
JavaScript
-
13
JSPのNULLレコード表示について教えて下さい。
Java
-
14
jsp~jspにhiddenを使って変数を飛ばしたい
JavaScript
-
15
jspからjavascriptの変数引継ぎ
JavaScript
-
16
JSPからServletに、テーブルに格納された値を渡したい
Java
-
17
サーブレットからパラメータをPOST形式で送信するには。
Java
-
18
Servletへフォームから配列を送信できますか?
Java
-
19
配列をセッションに割り当てた後で
Java
-
20
count(*)で取得した値をJAVAの変数に代入するには?
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビルドインクラスにメソッドを...
-
VB2005でADDとINSERTの違いは?
-
ADOのRecordSet.Openの引数につ...
-
javaについての質問です
-
[ExcelVBA] objExcel.Sheetsの...
-
javaで、、、
-
エクセルVBA/SpecialCellsで特...
-
Objective-Cのプログラム式につ...
-
日本の教育って時間が無い中で...
-
エクセルVBAで、条件に一致する...
-
「天声人語」をインターネット...
-
private static という変数の修飾
-
ファイル読み込み/書き込み速度...
-
VBAのWindowオブジェクトとWork...
-
0 == False はいいけど
-
私はクラスLINEにまだ入れてな...
-
A・B・Cクラスとは?
-
同じパッケージ、クラス名が含...
-
VBAでvlookup関数から、別シー...
-
アルキメデスの大戦の櫂はなぜ2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
servletからjspへオブジェクト...
-
VB.netでメソッドからコントロ...
-
JSPでのArrayListの表示につい...
-
VBAでの[]
-
javaで、、、
-
C#のクラスで値渡しをする
-
Excel VBA 定数にオブジェクト...
-
Dispose()は、どんな時に使うの...
-
Vba ListViewの行挿入に関して...
-
Javaでブラウザ判定
-
getParameter()について
-
VB.NETでのnothing の意義について
-
PrintFormを使用してのプリント
-
ピクチャーボックスに点を打つ...
-
String型からlong型への変換は...
-
drawStringの座標について
-
エクセルVBA/SpecialCellsで特...
-
GridViewに行追加するには?
おすすめ情報