dポイントプレゼントキャンペーン実施中!

JAVAサーブレットにおきましてページを移動する際に・・・

response.sendRedirect("http://www.goo.ne.jp/");

などとしますが、
新しくウィンドウを開いてこのページを表示するにはどうしたらいいですか?

なんかいい方法、ありませんか??

A 回答 (4件)

サーバに要求がきてから、クライアントのウィンドウを起動するより、


クライアントのJavaScriptで、ウィンドウを開いて、
その引数(URL)にサーブレットを指定すればいいのでは?

--- JavaScript例 ---
window.open("servlet/HogeHogeServlet","Win", 'width=800, height=600,scrollbars=0,left=0,top=0, dependent=yes');
    • good
    • 1
この回答へのお礼

なるほどぉ・・・
しかしこれではベースとなるページにスクリプトを書いておく必要がありますよね?

データベースからURLをひらって来て勝手にWindowが開き、
そのDBからのURLが表示されるというBeanを作成しています。

Scriptを使った方法、ちょっと検討してみます!

Scriptを使わずに実現する方法・・・ないですか??

お礼日時:2002/07/03 18:24

servletはサーバー側で動いているプログラムコードじゃないですか。


なのにクライアント側のブラウザを勝手に起動して新しいウィンドウを
開けたらあんまりだと思いませんか?

なのでservletのAPIでは新しくウィンドウを開くなどということは
できないようになっています。というかできません。されたら困ります。

だからクライアント側で動作するJavaScript等を駆使してさもそれっぽい
動作を実現しているのです。方法についてはみなさんが上げている通りです。
    • good
    • 0

それじゃぁ、サーブレットから、新しいWindowを開く為のHTMLを出力すればどうですか?


もし、元の画面がなくなっちゃうのが嫌だったら、新しいWindowを開いた後に
history.back() する様にしてやればいいかも。。。

実際に試した訳ではないので、うまくいくかどうかはわかりません。。。
適当に聞き流してください。。。

おそらく、サーブレットがクライアントの新しいブラウザを開くのは不可能だと思います。。。
    • good
    • 0

<JavaScriptを使わない方法>



フォームのターゲットもしくは、
ハイパーリンクのターゲットを新しいウィンドウを指定する

こんなのでどうでしょう??

--- 例 ---

<form method="POST" target="_new" action="servlet/HogeHogeServlet">
<p><input type="submit" value="BTN" name="B1"></p>
</form>

<p><a href="servlet/HogeHogeServlet" target="_new">CLICK!!</a></p>

この回答への補足

うぅぅん。
それもありですよねぇ・・・。

JAVAサーブレット内でJAVAだけで実現できないものですかねぇ・・・。

無理なんでしょうか・・・。
もしかして。

補足日時:2002/07/03 19:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!