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

解決済みの質問

iframeにリクエストattributeを渡したい。

トップフレームで受けたリクエスト属性(bean)をフレーム分割した全てのJSPで使用したいのですが、どうすればいいのでしょうか?
(Strutsを使用しています。)

JSPイメージは。
・リクエストを受けるJSP(Actionから呼ばれる)
 ~
 <iframe src="/fset.jsp">
 ~
・フレームセット用JSP(fset.jsp)
 <frameset cols="50%,50%" border="0">
  <frame name="left" src="/f1.jsp"> ← この中!
  <frame name="right" src="/f2.jsp"> ← この中!
 </frameset>

上記のように「f1.jsp」などの中でtopフレームで受けたrquestを使いたいのですがどうすればいいでしょうか?

投稿日時 - 2008-10-19 09:52:55

QNo.4412597

すぐに回答ほしいです

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

私も普通にSessionの適用要件かと思います。でも、同一ブラウザ上から複数のトップページを独立させて操作したいときはセッションでは不都合があるかもしれません。

諸事情がどのような条件か分かりませんが、Sessionにくっつけるのが問題なら、ServletContextにbeanをユニークなIDでくっつけて、fset.jsp上のURI表記にパラメータとしてそのIDを渡すとかでしょうか。
<frame name="left" src="/f1.jsp?beanID=123456789">
でも、こんなことをすると、逆にbeanのライフサイクル管理が面倒になりそう。(セッション側に乗せておけば、自然に消滅してくれるので安易なのですが。)
ただ、この方法も疑似セッションみたいなものなので、諸事情によってはあまり解決にならないかも知れません。

投稿日時 - 2008-10-20 12:22:02

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

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

回答(3)

ANo.3

私もセッションを使うことを考えますが、代替策を考えるなら、
まずHTTPリクエストの流れを図示して整理します。
フレームセットを呼ぶHTTPリクエストと、
中のフレーム2つをよぶHTTPリクエストがあり、
それぞれがアクションに紐付けされるわけですよね。
どのタイミングでどのアクションが呼ばれ、そこからは
どのデータにアクセスできるか(requestやsessionには
何が入っているのか)を整理すると、何か良い方法が
見つかる(思いつく)かも知れません。

投稿日時 - 2008-10-20 23:06:36

ANo.1

セッションのデータにしたら?

投稿日時 - 2008-10-19 19:10:12

補足

やはりsessionに持つのが手っ取り早いですか。。。
諸事情で出来れば避けたいのですが。

投稿日時 - 2008-10-19 19:13:12

あなたにオススメの質問