- PR -

TOMCAT+servlet出力に関する質問です。

投稿者投稿内容
isseki
大ベテラン
会議室デビュー日: 2001/11/05
投稿数: 107
投稿日時: 2002-05-05 17:38
こんにちは

前から悩んできたが、
Browserへの更新表示はframeを選択できたい問題です。
frame1、frame2とframe3を含むFRAMESETを表示した後、
Servletから時にはframe1へ、時にはframe2へ画面更新出力したいですが
どうやればよろしいでしょうか。

アイディアをいただけませんか。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-05-05 18:13
そのフレームに何を表示するかは、フレーム側もしくはリクエストするページ側の問題なので…。
<a href="servlet name" target="frame name"> とかで呼び出すだけでは。
isseki
大ベテラン
会議室デビュー日: 2001/11/05
投稿数: 107
投稿日時: 2002-05-05 22:20
しょむさん

さっそくご返答有り難う御座います。
説明不足でごめんなさい。

やりたいのは
HTMLのFORMから"POST"リクエストを出した場合:
<form action="xxx.jsp" method="POST">
xxx.jspによって新しいhtmlページを生成し
FRAMESET上の任意のframeに表示するっていうことです。
ご指摘された方法は通用できますか。

またよろしくお願いします。
YOU@IT
ぬし
会議室デビュー日: 2002/03/29
投稿数: 284
お住まい・勤務地: 大阪
投稿日時: 2002-05-06 01:44
しょむさんのおっしゃっているように、
<form action="XXX.jsp" method="post" target="frameName">〜</form>
でOKだと思いますよ。

# でもaction属性にJSPを指定するのは、ちょっと違和感が・・・
# MVCモデルの則ればJSPはViewですからね。action属性にはServletが良いかと。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-05-06 03:43
target は html でしか指定できませんから、隠しフレームを作ってそこから再呼び出しするしかありませんね。たぶん。

frameset { A : B : C : H(hidden) }
A : <form action="dispatchservlet" target="H">
で、H に返す servlet さんは <form action="もげもげ" target="目的フレーム"> および body onLoad="document.form[0].submit()"

もちろん javascript が使えない環境ではうまくはたらきません :b

---
余談
別スレでも話になってましたけど、JSP でうけるという MVC モデルもアリすよ:b
isseki
大ベテラン
会議室デビュー日: 2001/11/05
投稿数: 107
投稿日時: 2002-05-07 11:14
YOU@ITさん、しょむさん
ご返答ありがとうございます。

すばらしいアイディアありがとう御座います。>しょむさん
しょむさんWrote:
>target は html でしか指定できませんから
やはりServlet側は"主導権"はないでしょうかね。
さっそくやってみます。
またよろしくお願い致します。

ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2002-05-08 16:56
横から失礼します。

引用:

しょむさんの書き込み (2002-05-06 03:43) より:
target は html でしか指定できませんから、隠しフレームを作ってそこから再呼び出しするしかありませんね。たぶん。




これって本当でしょうか?何故できないんでしょうねぇ?

今後の参考にしたいので、情報源等あれば教えてください。

YKID
常連さん
会議室デビュー日: 2002/04/09
投稿数: 29
投稿日時: 2002-05-08 20:13
Y_KIDです。

引用:

ふうたさんの書き込み (2002-05-08 16:56) より:
横から失礼します。

引用:

しょむさんの書き込み (2002-05-06 03:43) より:
target は html でしか指定できませんから、隠しフレームを作ってそこから再呼び出しするしかありませんね。たぶん。




これって本当でしょうか?何故できないんでしょうねぇ?

今後の参考にしたいので、情報源等あれば教えてください。




おそらく、本当です。

HTML4.0の仕様に掲載されています。
http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/frames.html#h-16.3.2

frameとかtargetとか、どこの表示するというのを意識できるのは、HTML Browser(ユーザエージェント)しかありません。
なぜなら、サーバに対してrequestするときにHTML Browserが指定する仕様になっているから。

[ メッセージ編集済み 編集者: YKID 編集日時 2002-05-08 20:13 ]

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