こんにちは。質問です!
現在、STRUTS+Javaを使ってプログラミングしているのですが、
jspにて<logic:iterate>でループさせ
2次元配列をhidden要素に持たせるまでにはいたったのですが、
その際に、
<html:hidden name="aaa" property="str[0]" indexed="true" />
<html:hidden name="aaa" property="str[1]" indexed="true" />
以後続く・・・
で表示すると、HTML表示で、
<INPUT type="hidden" name="aaa[0].str[0]" value="あああ"/>
<INPUT type="hidden" name="aaa[0].str[1]" value="いいい"/>
以後続く・・・
となってしまい、サーブレットに送る際に、name属性に配列のindexが
付加されているため、strに値が入ってきません・・・
2次元配列をjspとサーブレットでやりとりする方法を教えてください。
strとaaaの型は共にjava.util.Listです。
ご回答、よろしくお願い致しますm(_ _)m
No.3ベストアンサー
- 回答日時:
追伸:
コレクション型のコレクション型にすると、strにもgetterが付くので、
2次元配列とは違って、内側のiteraterでインデックスを取ることができます。
結局、jspからのリターン値ということは、あなたが名前をつけているだけのはずなので、
<logic:iterate id="aaa" name="result" property="aaa">
<logic:iterate id="str" name="aaa" property="str" indexId="idx">
とでもして、内側のstrのループの方にindexIdをつけて
<INPUT type="hidden" name="str[<bean:write name="idx" />]" value="あああ"/>
bean:writeでカウンタを変数名につけて、名前を「自分で作れば」いいだけじゃないですか?
http://www.techscore.com/tech/ApacheJakarta/Stru …
No.2
- 回答日時:
>jspに出力したコレクション変数をサーブレットへ送る方法
jspに出力した・・・というより、JSPで動的に変更されたhtmlからサーブレットへ送るだと思いますが、
このように書くとお分かりと思いますが、クライアントに表示されている時点でhtmlなので、"aaa[].str[]" は単なる変数名になっているわけで、無理だと思います。
普通は私が書いたように、2次元配列じゃなくて、コレクションのコレクションのようにします。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
No.1
- 回答日時:
二次元配列なら、<iterate>は2重になるのではないのですか?
<logic:iterate id="aaa" name="result" property="aaa">
<logic:iterate id="str" name="aaa" property="str">
外側のidで取得したiteraterが、内側では配列の素になるって事ではないのでしょうか?
私の場合、わかりにくいといやなので、
直接配列にはしないて、コレクション型変数にコレクション型変数を入れる形にしてますが、きっと同じ事だとおもいますよ。
この回答への補足
早速のご回答ありがとうございます!
PED02744さんのコードでは2回目の<logic:iterate ~>で、
bean strのプロパティstrに対するゲッターがありません。
というエラーが出ましたが、別の方法で出力は可能でした。
その際、List型変数に入っているList型変数の各インデックスなので、
hiddenコントロール名がaaa[0].str[0]などとなってしまい、
こんな感じです。
<INPUT type="hidden" name="aaa[0].str[0]" value="あああ"/>
サーブレットに送る際は、strとして送りたいのに・・・
すでに名前が変わっているので、strとしては認識されません。
すみませんが、jspに出力したコレクション変数をサーブレットへ
送る方法をご存知でしたら、教えていただけませんでしょうか?
ちなみに
str0 str1 str2
------------------------------------------
1レコード目 あああ いいい ううう
2レコード目 えええ おおお かかか
3レコード目 ききき くくく けけけ
これを画面に表示後、サーブレットに戻す処理です。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ページング
-
C#で動的配列Listの中身をListB...
-
javaで大容量テキストファイル...
-
Java NullPointerException
-
セッションを使ったint型の値の...
-
配列インデックス範囲外エラー?
-
データベースから取得したデー...
-
同じ配列またはクラスを、2回...
-
Javaには、構造体はないんですか?
-
int配列をbyte配列に変換
-
配列をセッションに割り当てた後で
-
C言語でunsigned char配列を連...
-
sqlparamaterでIN句を使いたい。
-
Javaで文字と数字が混ざったも...
-
javamailで複数人にメールを送...
-
C++で、Excelの内容を取得する...
-
java.lang.NullPointerException
-
jspでの二次元配列
-
この警告はどうすれば?
-
javaの比較一致(equals)について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
n番目に大きな値を探索する
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
Javaで文字を漢字であるか否か...
-
配列をセッションに割り当てた後で
-
配列の中に複数存在する数がい...
-
java
-
Javaで文字と数字が混ざったも...
-
C#で動的配列Listの中身をListB...
-
配列で、値の入っている要素数...
-
『args[]』とは?
-
【C#】ハッシュテーブル(連想...
-
ページング
-
セッションを使ったint型の値の...
-
配列について
-
同じ配列またはクラスを、2回...
-
ArrayListからBean配列に値をセ...
-
Java配列の問題を教えてくださ...
-
java 大文字と小文字を入れ替える
-
同じ文字を探しカウントしたい
おすすめ情報