いつもお世話になっております。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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
JSPでのArrayListの表示について困っています
Java
-
Servletへフォームから配列を送信できますか?
Java
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
-
4
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
5
Javascriptの値をJava(JSP)へ渡す方法
Java
-
6
ServletからServletへの値渡し
Java
-
7
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
8
サーブレットからパラメータをPOST形式で送信するには。
Java
-
9
JSP内でString型からint型に変換する方法(SAStruts使用)
Java
-
10
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
-
11
setAttribute getAttribute 配列内容受け渡し について
Java
-
12
count(*)で取得した値をJAVAの変数に代入するには?
Java
-
13
リクエストからArrayListのデータが取得出来ない
Java
-
14
JSPでHashMap・配列の変数の値を扱う方法について
Java
-
15
jspでの二次元配列
Java
-
16
配列をセッションに割り当てた後で
Java
-
17
ラジオボタンのNullチェック
JavaScript
-
18
<input type=hidden" >で配列(複数の要素)を渡したいとき?"
PHP
-
19
tableタグとformタグの組み合わせ
HTML・CSS
-
20
データ数をカウントしたいのですが
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBスクリプトでテキストファイ...
-
Vba ListViewの行挿入に関して...
-
VBS でのソート処理Excel2003
-
エクセルVBA 画像を貼り付ける...
-
サーブレットコンテキストの意...
-
C#で親にイベントを投げる方法
-
エクセルVBAで、条件に一致する...
-
「エンクロージング型」と「外...
-
EXCEL VBAにて動的にCheckBOXを...
-
変数名の付け方
-
同じクラスにならない確率を教...
-
「タイプ初期化子が例外をスロ...
-
インスタンス参照でアクセスで...
-
VB.NETでフォーム上にExcelのよ...
-
配列の重複する値とその個数を...
-
VBAでvlookup関数から、別シー...
-
VB.NET フォーム上に描いたグ...
-
フォームのCheck boxとOLEObjec...
-
String a = "a"; と String b =...
-
VBAからノーツを起動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでの[]
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
C#のクラスで値渡しをする
-
VB.netでメソッドからコントロ...
-
Vba ListViewの行挿入に関して...
-
VB.NETでのnothing の意義について
-
Excel VBA 定数にオブジェクト...
-
Dispose()は、どんな時に使うの...
-
servletからjspへオブジェクト...
-
ピクチャーボックスに点を打つ...
-
JSPでのArrayListの表示につい...
-
MessageBox.Show(Me,…の「Me」...
-
String型からlong型への変換は...
-
PrintFormを使用してのプリント
-
getParameter()について
-
ArrayListのデバッグ方法について
-
VBスクリプトでテキストファイ...
-
エクセルVBA/SpecialCellsで特...
-
オブジェクトの参照渡しについて
おすすめ情報