• ベストアンサー

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を使いたいのですがどうすればいいでしょうか?

  • kames
  • お礼率32% (30/91)
  • Java
  • 回答数3
  • ありがとう数0

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

  • ベストアンサー
回答No.2

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

その他の回答 (2)

  • thamansa
  • ベストアンサー率40% (95/232)
回答No.3

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

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

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

kames
質問者

補足

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

関連するQ&A

  • フレームネームの変更?に関しての質問です。

    フレームネームの変更?に関しての質問です。 javascript初心者です。 質問の仕方がよくわからないのですが… 分割したフレームで別ページ(bb.htm)を表示、その別表示内のジャバスクリプトでフレームの変更をする記述でtopの指定がある為?エラー(オブジェクトで指定されてないプロパティ)が表示されます。 ちなみにbb.htmのページは変更不可能です(外部ページのため) なお、test_1000の1000の部分が毎回変更されます。 こういった場合はどうすればいいのでしょうか? topの属性?を変更? いろいろ考えていたら混乱し行き詰ってしまいました。 趣旨として起動するHTAにてaa.htmの表示をしながらbb.htmを操作したいです。 わかりにくい文書でご迷惑をおかけしますが解決方法を教えてください よろしくお願いします。 //起動するHTA <frameset cols="150,*" name-"oya"> <frame src="aa.htm" name="a"> <frame src="bb.htm" name="b"> </frameset> //bb.htm <frameset cols="150,300,*" name="test_1000"> <frame src="zz.htm" name="f1"> <frame src="xx.htm" name="f2"> <frame src="yy.htm" name="f3"> </frameset> //このbb.htm内のyy.htm内にての記述 top.test_1000.cols="*,200,400"

  • frameのボーダーを0にするとiframeまで・・・

    HPを1つ持っています。 iframeを使ったHPで、漢字で表すと、 回←こんな感じのアイフレーム設定になってます。(^^;) border=1 です。 で、この度、内側に表示される内容のレイアウトを変えようと思いまして、 内側に表示される内容にもフレームを使ってみました。(普通の右左に分けるフレームです) で、内側の内容のフレーム設定をborder=0にしたのですが、 そうするとiframeのborderまで消えてしまうのです。 内側のフレームは消して、iframeのボーダーは残すなんて事で来ますでしょうか? 質問の説明が下手ですいません。 参考になるか分かりませんが、以下が左右に分けるフレームのページのソースです。 <html> <head> <title> page </title> <meta name="robots" content="noindex,nofollow"> <META NAME="ROBOTS" CONTENT="NONE"> <style> a:hover {color:red} </style> </head> <frameset cols="220,*" frameborder="0" framespacing="0" border="0"> <frame src="a.html" name="Navigation" scrolling="no"> <frame src="b.html" name="Data"> </frameset> </html>

    • ベストアンサー
    • HTML
  • topから孫フレームへのアクセス方法

    トップフレームから↓の感じでフレーム階層を作っています。 [topフレーム] ... <iframe src="子.jsp"/> ... [子.jsp] <frameset rows="50%,50%" id="ko">  <frame src="孫1.jsp" id="mago1"/>  <frame src="孫2.jsp" id="mago2"/> </frameset> topフレームから「孫1.jsp」「孫2.jsp」内の要素にJavaScriptでアクセスする方法があれば教えてください。

  • フレーム分割した全体をスクロールバーで動かせないでしょうか?

    フレーム分割したホームページをスクロールバーで上下したいのですが、書き方が分からなくて困っています。お分かりになる方がいらっしゃいましたら、教えて下さい。 尚、当方htmlでようやく簡単なページが作れるレベルです。宜しくお願い申し上げます。 尚、フレームの割り方が違う時はそちらもお教え下さいませ。 <HTML><HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=Shift_JIS"> <TITLE>フレーム分割</TITLE></HEAD> <FRAMESET Rows="195,*,50" Frameborder="1"> <Frameset cols="10%,80%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f1" Scrolling="no"> <FRAME Src="./frame2.html" name="f2" Scrolling="no"> <FRAME Src="./frame1.html" name="f3" Scrolling="no"> </Frameset> <Frameset cols="10%,20%,60%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f4"> <FRAME Src="./f001.html" name="f5" scrolling="no"> <FRAME Src="./f002.html" name="f6" scrolling="no"> <FRAME Src="./frame1.html" name="f7"> </Frameset> <FRAME Src="./end.html" name="f8" scrolling="no"> <NOFRAMES>恐れ入りますがフレーム対応ブラウザでご覧下さい</NOFRAMES> </FRAMESET> </HTML>

    • ベストアンサー
    • HTML
  • フレーム分割のスクリプトについて

    画面を3つに分割し、top1,top2,top3を作成して、 top1のみ、右端のスクロールバーを無し(画面固定)にするには、どのようにすればよいのでしょうか? <html><head> <title>top</title> </head> <frameset rows="350,*"> <frame src="top1.html"name="top1"> <frameset cols="200,*"> <frame src="top2.html"> <frame src="top3.html"name="bottom"> </frameset> </html> 宜しくお願い致しますm(_ _)m

  • フレームの境界線

    ホームページでフレームのページを作りました。 フレームの境界線を消したくて、 <frameset cols="150,*" frameborder=0> <frame src="menu1.html" name="menu"> <frame src="top.html" name="main"> </frameset> としても、背景が紫(#CC99FF)なので 白い境目が出来てしまいます。 宜しければ、境目を見えなくする方法を教えて下さい。

    • ベストアンサー
    • HTML
  • strutsでフレームの分割ができません。

    strutsで、 http://struts.wasureppoi.com/taglib/03_frame.html を見ながらフレームの分割を下記のように行おうとしていますが、エラーが表示されます。 ソース ---- <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-nested" prefix="nested" %> <html:html> <head> <title>テスト</title> </head> <frameset cols="30%,*"> <html:frame page="l.jsp"/> <html:frame page="r.jsp"/> </frameset> </html:html> ---- エラーメッセージ ---- HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: Exception in JSP: /index08.jsp:13 10: <title>テスト</title> 11: </head> 12: <frameset cols="30%,*"> 13: <html:frame page="l.jsp"/> 14: <html:frame page="r.jsp"/> 15: </frameset> 16: </html:html> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) 原因 java.lang.NullPointerException org.apache.struts.taglib.TagUtils.pageURL(TagUtils.java:1070) ---- 別のページを見ると、 <html:frame page="l.jsp" name="hidari"/> とname属性を宣言しているようですが、同様に記述してみると、スコープが無いとエラーが出てしまいます。 環境は、  WindowsXP  Eclipse3.3  Tomcat5.5  struts-1.3.8  JDK1.5 です。 どのように記述すべきか、検索してもヒットしなかったので、恥かしながらここで質問させて頂く事にしました。 どのように直すべきか、分かる方がいらっしゃいましたらご教授頂けないでしょうか?  また、オススメのStrutsの本がありましたら、こちらも教えて頂けたら幸いです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • フレームが表示されない…

    今HPを作成してるのですが、色々とタグを試しましたが出来ないの質問します。 自分は、ポケスペというタグで色々と作成できるHPスペースで作ってるのですが、 <p align="center"> <iframe src="http://pksp.jp/*/?o=1" name="menu" frameborder="0" width="20%" height="90%"> </iframe> <iframe src="http://pksp.jp/*/?o=2" name="main" frameborder="0" width="70%" height="90%"> </iframe> </p> というタグで、インナイフレーム?は表示出来るのですが。 <FRAMESET cols="50%,50%" frameborder="NO" border="0"> <FRAME name="left" src="1のURL"> <FRAME name="right" src="2のURL"> </FRAMESET> という、普通の?インナイじゃないフレームは表示されないのです。 どなたか、わかりますか?インナイじゃなくフレームを表示させたいのです。

  • HTMLでフレームのトップの中でサーブレットを呼びたいです

    HTMLでフレームのトップの中でサーブレットを呼びたいです <FRAMESET rows="13%,87%" cols="25%,75%" frameborder="0"> <FRAME src="uePage.html" name="hidariue" scrolling="no"> <FRAME src="migiue.html" name="migiue" scrolling="no" norisaize> <FRAME src="hidariTop.html" name="hidari"> <FRAME src="NewPage.html" name="migi"> <NOFRAMES> ここの中でよべるのですか?教えてください!

    • ベストアンサー
    • HTML
  • IFRAMEの親からのjavaスクリプトによる制御

    やりたいことは googleAPIを使用した地図の位置指定の制御を異なるフレームから制御することです. 1フレーム構成 親のフレーム <FRAMESET cols="175,*" > <FRAME SRC ="fr1-1.htm" NAME="a"> <FRAMESET rows="80,*" > <FRAME SRC ="fr2.htm" NAME="b"> <FRAME SRC ="fr3.htm" NAME="c"> </FRAMESET> *fr2.htmではonClick()イベントで"a"にfr1-1~x.htmを表示します. *fr3.htmの中にはインラインフレームがあります. <IFRAME src="map.htm" id="API" name="map"></IFRAME> *map.htm中にグーグルAPIのjavaスクリプトを記述し,最後に  function open01(){map.setCenter(new GLatLng(y1,x1), Z1);} (x1,y1,z1は数値です)としました.   2.やりたいこと.  fr2.htmから呼び出されたfr1-x.htmの文字列をクリックして  map.htm中のopen01()を実行,ないし中のx1,y1およびz1を変更し実行することです. 3.最低でもやりたいこと  fr3.htm内の記述でmap.htm中のfunction open01(){map.setCenter(new GLatLng(y1,x1),z1);} を呼び出したい <script type="text/javascript"> <!--function zoom01(){????.open01();} </script>--> 自分自身の知識と技術では無謀のようにも思えますがご教示頂ければ幸いです.

専門家に質問してみよう