- ベストアンサー
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を使いたいのですがどうすればいいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
私も普通にSessionの適用要件かと思います。でも、同一ブラウザ上から複数のトップページを独立させて操作したいときはセッションでは不都合があるかもしれません。 諸事情がどのような条件か分かりませんが、Sessionにくっつけるのが問題なら、ServletContextにbeanをユニークなIDでくっつけて、fset.jsp上のURI表記にパラメータとしてそのIDを渡すとかでしょうか。 <frame name="left" src="/f1.jsp?beanID=123456789"> でも、こんなことをすると、逆にbeanのライフサイクル管理が面倒になりそう。(セッション側に乗せておけば、自然に消滅してくれるので安易なのですが。) ただ、この方法も疑似セッションみたいなものなので、諸事情によってはあまり解決にならないかも知れません。
その他の回答 (2)
- thamansa
- ベストアンサー率40% (95/232)
私もセッションを使うことを考えますが、代替策を考えるなら、 まずHTTPリクエストの流れを図示して整理します。 フレームセットを呼ぶHTTPリクエストと、 中のフレーム2つをよぶHTTPリクエストがあり、 それぞれがアクションに紐付けされるわけですよね。 どのタイミングでどのアクションが呼ばれ、そこからは どのデータにアクセスできるか(requestやsessionには 何が入っているのか)を整理すると、何か良い方法が 見つかる(思いつく)かも知れません。
- _ranco_
- ベストアンサー率58% (126/214)
セッションのデータにしたら?
補足
やはりsessionに持つのが手っ取り早いですか。。。 諸事情で出来れば避けたいのですが。