- PR -

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

1
投稿者投稿内容
SK
会議室デビュー日: 2008/10/19
投稿数: 2
投稿日時: 2008-10-19 10:03
トップフレームで受けたリクエスト属性(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を使いたいのですがどうすればいいでしょうか?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-10-19 13:12
物理的に別リクエストなので無理です。
そういうときのために、セッションが活用できますよ。

単にちょっとした値を渡したいのであれば、
コード:
<iframe src="/fset.jsp?xxx=<%=request.getAttribute("aaaaaa")%>">


とするのが有効かと思います。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-10-19 13:34
トップフレームの中にアクセッサを置くとか。

フレーム間の情報は共有できるのでそんなに難しくはありませんね。

隠しフレームとか、Ajaxとかで検索して下さい。


SK
会議室デビュー日: 2008/10/19
投稿数: 2
投稿日時: 2008-10-19 19:08
アクセッサというとJavaのget〜、set〜しか出てこないのですが。。。違いますよね?
引用:

トップフレームの中にアクセッサを置くとか。

かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-10-19 21:04
引用:

トップフレームの中にアクセッサを置くとか。

フレーム間の情報は共有できるのでそんなに難しくはありませんね。

隠しフレームとか、Ajaxとかで検索して下さい。


は、
引用:

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


に対する直接の回答とは思えませんが、
そもそもリクエスト属性を共有することはできないから、
JavaScript等の別の方法で値の受け渡しをしたら?
ということを仰りたいということですよね。

引用:

アクセッサというとJavaのget〜、set〜しか出てこないのですが。。。違いますよね?


サブフレームからトップフレーム内のJavaScriptの値を読み出すための、
「アクセッサ」を置くという事を仰っているかと思います。

フレームを分割すると、各フレームの表示の処理を行うときに、
ブラウザから物理的に別のリクエストが飛ばされます。
ですので、各フレームのJSPにおいて、リクエスト属性はそもそも使えませんが、
トップのフレームのJavaScriptにリクエストの属性の値を書き出して、
サブのフレームからそれを読み出せばよいかと思います。


[ メッセージ編集済み 編集者: かつのり 編集日時 2008-10-19 21:32 ]
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-10-20 00:55
へへ;

トップフレームに各フレームで共有したい情報をサーバーから書き出す。
トップフレームを更新したくなくて、各フレーム内も更新したくない
ときに、トップフレームの隠しフレーム or Ajax経由で必要な情報を
サーバーから持ってきて、そのデータをトップフレームに予め用意して
おいた共有用のメソッド群を各フレーム内のその情報を必要とする
奴らが適宜使うとか。IFRAME だと、onreadystatechange でしか待てない
つまり非同期になってしまうけど、Ajax なら同期モードで出来ます。
必要な時に必要な情報を取得できるようになりますね。IFRAME の場合は、
少々工夫が必要ですが。

不定期タイミングでサーバーにアクセスして情報を取得する操作は必ず
トップフレームだけが行う。ようにすることでトップフレーム上でデータ
を一元管理できるってことでし。

よく見ると、IFRAMEの中でフレーム分割してるのですが、フレームを跨ぐ
ドラッグドロップなしかけとか入れているのですが?又は


[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-10-20 01:00 ]
1

スキルアップ/キャリアアップ(JOB@IT)