• ベストアンサー

[Servlet]ページ表示に関して

JAVAサーブレットにおきましてページを移動する際に・・・ response.sendRedirect("http://www.goo.ne.jp/"); などとしますが、 新しくウィンドウを開いてこのページを表示するにはどうしたらいいですか? なんかいい方法、ありませんか??

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

  • ベストアンサー
  • ZIGEN
  • ベストアンサー率100% (5/5)
回答No.1

サーバに要求がきてから、クライアントのウィンドウを起動するより、 クライアントのJavaScriptで、ウィンドウを開いて、 その引数(URL)にサーブレットを指定すればいいのでは? --- JavaScript例 --- window.open("servlet/HogeHogeServlet","Win", 'width=800, height=600,scrollbars=0,left=0,top=0, dependent=yes');

zenon55
質問者

お礼

なるほどぉ・・・ しかしこれではベースとなるページにスクリプトを書いておく必要がありますよね? データベースからURLをひらって来て勝手にWindowが開き、 そのDBからのURLが表示されるというBeanを作成しています。 Scriptを使った方法、ちょっと検討してみます! Scriptを使わずに実現する方法・・・ないですか??

その他の回答 (3)

  • KaZtoYou
  • ベストアンサー率73% (11/15)
回答No.4

servletはサーバー側で動いているプログラムコードじゃないですか。 なのにクライアント側のブラウザを勝手に起動して新しいウィンドウを 開けたらあんまりだと思いませんか? なのでservletのAPIでは新しくウィンドウを開くなどということは できないようになっています。というかできません。されたら困ります。 だからクライアント側で動作するJavaScript等を駆使してさもそれっぽい 動作を実現しているのです。方法についてはみなさんが上げている通りです。

  • mrt136
  • ベストアンサー率35% (33/92)
回答No.3

それじゃぁ、サーブレットから、新しいWindowを開く為のHTMLを出力すればどうですか? もし、元の画面がなくなっちゃうのが嫌だったら、新しいWindowを開いた後に history.back() する様にしてやればいいかも。。。 実際に試した訳ではないので、うまくいくかどうかはわかりません。。。 適当に聞き流してください。。。 おそらく、サーブレットがクライアントの新しいブラウザを開くのは不可能だと思います。。。

  • ZIGEN
  • ベストアンサー率100% (5/5)
回答No.2

<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>

zenon55
質問者

補足

うぅぅん。 それもありですよねぇ・・・。 JAVAサーブレット内でJAVAだけで実現できないものですかねぇ・・・。 無理なんでしょうか・・・。 もしかして。

関連するQ&A