
Strutsを使っているWEBシステムで、taglibを使用せずに、情報を受け渡ししたいです。
..やろうとして挫折したこと
..1.setAttributeでの受け渡し
....setAttributeは画面のロード時にしか実行できないようで、無理でした。
....(正確には、RadioボタンのOnLoadイベントで、JSPからはsetAttributeを実行できない。)
..2.form上のコントロールのValueでの受け渡し
....input.type="radio".name="radio_object".value="値"
....のようにして、次の画面遷移先に渡そうとしましたが、
....struts-config.xml.で記述している.formクラスに対し、
....taglib.を使用して、formクラスに値設定する方法でなければ、
....情報を受け渡しできないようでした。
taglib は、内部的には何らかの方法で、formクラスに値を受け渡ししているはずですし、
その方法を、jsp上で記述する方法もあると思っているのですが、
無理なのでしょうか?
No.1ベストアンサー
- 回答日時:
Strutsを使用しているのにカスタムタグを使用しないというのがよくわかりませんが、何かしらの考えがあってのことだと思いますが・・・。
2の方法で
<form action="・・・" method="POST">
<input type="radio" name="radio_object" value="1">
</form>
となっている場合、アクションで
request.getParameter("radio_object")
で取得できないでしょうか?
これならアクションフォームの内容には関係なく取得できると思います。
ありがとうございます。
radioボタンではなく、checkboxでうまくできました。
(radioボタンでは今チャレンジしていますが、うまくいくと思います。)
> Strutsを使用しているのにカスタムタグを使用しないというのがよくわかりませんが、何かしらの考えがあってのことだと思いますが・・・。
formクラスに依存させない形にしたかったためです。
具体的には、Map型の配列でデータをインターフェースして、
Mapの中に何個の要素が入っていようとも、
動的にJSPで情報を表示させたかったためです。
たとえば、
(1)Mapに、社員ID、社員名、所属部署というようなデータがある。
(2)Mapに、注文ID、商品ID、商品名、個数というようなデータがある。
というな情報を、その都度、要素数にあわせてHTMLのテーブルを作成したいということをしたいためです。
> radioボタンではなく、checkboxでうまくできました。
> (radioボタンでは今チャレンジしていますが、うまくいくと思います。)
※なお、radioではなく、checkboxで先に試したのは、
valuesに値が入っているもののみ、
setAttributeがなされるようだったためです。
No.2
- 回答日時:
>radioボタンではなく、checkboxでうまくできました。
複数のものからひとつを選ぶ→ラジオボタン
複数のものから複数のものを選ぶ→チェックボックス
の使い方が基本ですが、ラジオボタンで実装予定のものを
チェックボックスで実装しても問題ないでしょうか?
チェックボックスにしたことで複数選ばれ、新たなバグは発生しないかもう一度確認してみてはいかがでしょうか。
>※なお、radioではなく、checkboxで先に試したのは、
>valuesに値が入っているもののみ、
>setAttributeがなされるようだったためです。
確かにチェックされていないものはサブミットされません。
ただし、チェックが入っていいたものからチェックをはずすと
サブミットされないので十分に検証したほうがいいと思います。
(resetメソッド利用など)
例)
<input type="checkbox" value="1" checked>
をチェックをはずしてサブミットしてもチェックをはずされたことがわからない。
参考URL:http://okwave.jp/qa2311483.html
ありがとうございます。
> > Strutsを使っているWEBシステムで、taglibを使用せずに、
> > 情報を受け渡ししたいです。
> radioボタンではなく、checkboxでうまくできました。
すみません、表現が不適切でした。
taglibを使用せずに情報を受け渡しができることを確認でするために、先にcheckboxで確認したという意味でした。
>※なお、radioではなく、checkboxで先に試したのは、
>valuesに値が入っているもののみ、
>setAttributeがなされるようだったためです。
本当は、最初からradioで確認をしたかった状況でした。
しかしながら、radioボタンの仕様として考えられることとして、
(1)checked になっているものだけを渡すのか?
(2)checkedプロパティがtrue になっているものだけを渡すのか?
(3)values に値が入っているものだけを渡すのか?
(4)values にchecked という文字列が入っているものだけ渡すのか?
などなどと、色んな仕様が考えられたので、(↑まぁ、さすがにありえないだろうなというのも混じってますが、、、)
仮説として『もしや requestオブジェクトには、valueしかわたらないのだろうか?』という風に考え、
実は実績があったcheckboxで、先に確認をしたみたという状況でした。
なお、最終的には、radioボタンで情報を受け渡しをしているのですが、結局、radioボタンのvaluesに、各選択肢のIDを設定し、
getParameterValuesで、各選択肢のIDを取得し、
そのIDに紐付くデータを、次の処理に渡しているという感じになってしまいました。
↑下記のようなことをしようとしていたため。
radio1、購入対象商品ID、購入対象商品、価格
radio2、購入対象商品ID、購入対象商品、価格
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーム上で押されたボタンに...
-
htmlからjspへ処理を移す方法が...
-
フォームで同じ複数のnameで違...
-
「<c:forEach タグが終了し...
-
サーブレットからJSPへの変数受...
-
Struts2のタグについて
-
JSPのフォームの値を別のJSPか...
-
テキストボックスで入力したデ...
-
jspの文字化けの解消方法を教え...
-
Struts、Iterateタグの使い方
-
リクエストに応じたselectedの...
-
javascriptでセッションの削除...
-
このadidasの腕時計の時刻の設...
-
Formのデータが欠落することがある
-
JSPでsession変数が勝手に書き...
-
javascriptでセッションを取得
-
グローバルIPアドレスの変更タ...
-
DVD鑑賞時、字幕を消すには??...
-
腕時計の時報をならないように...
-
webアプリを作ってます。エラー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リクエストに応じたselectedの...
-
フォーム上で押されたボタンに...
-
「<c:forEach タグが終了し...
-
JSPでのリストボックス表示
-
フォームで同じ複数のnameで違...
-
jspでjavascript関数へ引数を渡...
-
int型の内容をbyteの配列にコピー
-
JSP+Servletで終了ボタン
-
EL式 true falseを表示
-
JSPでテキストボックスのループ...
-
動的に作成したラジオボタンの...
-
ラジオボタンの選択肢をサーブ...
-
log4jのレベルをdebugにすると...
-
文字列をタブ区切りで出力したい
-
struts-config.xmlの設定
-
JSPとサーブレット間での画面遷...
-
Strutsでの入力データチェック...
-
strutsを使ってテキストエリア...
-
struts bean:defineについて
-
JSFでJavaScriptを使用するには?
おすすめ情報