こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

StrutsからString型のPOST値を送る

初めて投稿させていただきます。
質問事項ですが、
Strutsを使用したフレームワークから、外部サイトへ向けString型の
POST値を送ろうと思っているのですが、上手く出来ません。
自分なりに考え、
Actionクラス側
request.setAttribute("aaa","aaa")
JSP側
request.getParameter("aaa")
等とやってもとれません。
JSP側で<bean:write name="aaa" />とすれば取れますが、送り先が他言語の為、String型のPOST値で送るしかない状況です。
HttpSessionを使えば上手くいくのですが、出来れば使用せず作成したいと思っています。
どなたか、ご存知の方がおりましたらお教え下さい。
尚、開発環境は下記の通りです
Java 1.4
Struts 1.2
Tomcat 5.0
よろしくお願いします。

投稿日時 - 2006-12-11 23:48:16

QNo.2595373

すぐに回答ほしいです

質問者が選んだベストアンサー

>Actionクラス側
>request.setAttribute("aaa","aaa")
>JSP側
>request.getParameter("aaa")
>等とやってもとれません。

setAttributeしたのならば、
request.getAttribute("aaa") とやらないと取れませんよね。

>JSP側で<bean:write name="aaa" />とすれば取れますが、送り先が他言語の為、String型のPOST値で送るしかない状況です。

以下のようにしたらダメなんでしょうか?
<form method="post" action="他システム">
<input type="hidden" name="foo" value="<bean:write name="aaa" />">
<input type="submit" value="他システムへPOSTする">
</form>
ちなみに、POSTされる値は、整数型、不動小数点型などはありえなくて、常に文字列です。strutsでは、ActionFormが整数型や真偽型などに変換してくれているだけです。

投稿日時 - 2006-12-12 00:07:39

お礼

お早いご回答ありがとうございます。
>setAttributeしたのならば、
>request.getAttribute("aaa") とやらないと取れませんよね。
私の記憶では、
getParameter()はgetAttribute()のデータ(Object型)をString型として取得しているので、大丈夫だと思います。

>以下のようにしたらダメなんでしょうか?
><form method="post" action="他システム">
><input type="hidden" name="foo" value="<bean:write >name="aaa" />">
><input type="submit" value="他システムへPOSTする">
></form>
>ちなみに、POSTされる値は、整数型、不動小数点型などはありえなく
>て、常に文字列です。strutsでは、ActionFormが整数型や真偽型など
>に変換してくれているだけです。
おっしゃる通り、一度JSPへ表示させて遷移すれば可能ですが、
出来るだけ画面数を減らしたいと思っています。
ですので、JSPからボタン及びJavaScriptでのリダイレクトは極力避けようと考えています。

投稿日時 - 2006-12-12 00:42:57

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

お礼

ありがとうございます。
これを記述したのは私です。(笑)
とても急いで居たので@ITさんの方でもスレッドを立てました。
2重というのは確かに失礼ですね。このスレッドは閉じさせて頂きます。
fdsjaklfjas様、pcbeginner様ご返答ありがとうございました。

投稿日時 - 2006-12-12 12:56:48