- PR -

WEBで新規画面オープンと既存画面の更新を同時に行うには?

1
投稿者投稿内容
ぬべたそ
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 72
投稿日時: 2005-01-05 17:51
こんにちは。
いつも参考にさせて頂いています。

件名にあるような動作を実装したいと考えています。
詳細な動作は以下の通りです。
画面Aに新規ブラウザウィンドウを開くようなリンクを張っておき、そのリンクをクリックすると画面Bとして外部サイトを開きます。(target="_blank"を利用)
また、それと同時に、画面Aの表示内容を変更し、画面A´に更新したいと考えています。
試しに、以下のようにstrutsで実装してはみましたが、画面Aが更新されませんでした。
Actionクラスのexcuteメソッド中で、SendRedirectで外部サイトを指定した後に、
return (mapping.findForward("xxxx"))として、別のアクションクラスを呼び出しています。

このような動作を実現することは可能でしょうか?

質問の内容が分かりづらいなど有りましたら仰ってください。
以上、ご教授よろしくお願い致します。
すめし
会議室デビュー日: 2005/01/04
投稿数: 10
投稿日時: 2005-01-05 19:13
#あくまで「同時」にこだわるならわかりませんが…

画面Aを更新時に、bodyタグのonloadでJavaScriptを呼び出し、そのJavaScript内で別Windowを開くというのではダメでしょうか?

#1回のリクエストで2つレスポンスを返すことは出来ないんじゃないかと想像しますがどうなんでしょう?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-01-06 05:02
すめしさんの仰るとおり http 的には1リクエストに付き1レスポンスですのでサーバ側の処理では実現出来ませんね。onloadとかonclickで処理する事になると思います。
こんなのとか、
<a href="新しいウィンドウのパス" target="_blank" onclick="document.location.reload()">go!</a>
親画面がリフレッシュではなく新しいページに遷移させたいのであればこう。
<a href="新しいウィンドウのパス" target="_blank" onclick="document.location.href='nextPage.do'">go!</a>

[ メッセージ編集済み 編集者: インギ 編集日時 2005-01-06 06:32 ]
ぬべたそ
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 72
投稿日時: 2005-01-06 09:49
引用:

すめしさんの仰るとおり http 的には1リクエストに付き1レスポンスですのでサーバ側の処理では実現出来ませんね。onloadとかonclickで処理する事になると思います。
こんなのとか、
<a href="新しいウィンドウのパス" target="_blank" onclick="document.location.reload()">go!</a>
親画面がリフレッシュではなく新しいページに遷移させたいのであればこう。
<a href="新しいウィンドウのパス" target="_blank" onclick="document.location.href='nextPage.do'">go!</a>


すめしさん、インギさん、分かりづらい質問に親切にお答えいただきありがとうございます。
JavaScriptを使って、2リクエストを発生させれば良いのですね。
大変参考になりました。今から早速実装してみます。
ありがとうございました。
1

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