- PR -

Servletを利用して、DBから得たデータを新しいウインドウに表示する。

1
投稿者投稿内容
れんれん
常連さん
会議室デビュー日: 2005/07/25
投稿数: 44
投稿日時: 2006-02-07 18:50
こんばんは。たびたび質問させていただいてます。

今回はServletとjavascriptについての質問です。

DBからデータを取得して、それをページで表示するという基本的なことに関してです。
ServletのrequestDispatcher()を使って、表示するページを指定しています。

その際、リクエストしたページのあるウインドウとは別の、新しいウインドウへ表示
させるにはどうしたらいいのでしょうか?

Servletから直接ウインドウを作成することは出来るのでしょうか?
javascriptで新しいウインドウを作ることは出来るので、上手く組み合わせたやり方をご存知の方、教えてください。

KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2006-02-07 19:11
方法は幾つかあると思いますが、
とりあえず。
1.元のウインドウから子画面表示 a = window.open(....)
2.子画面aをターゲットとしてsubmit
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-08 04:41
<a href="nextservlet" target="_blank">サーブレット実行</a>
といった感じでしょうか。
れんれん
常連さん
会議室デビュー日: 2005/07/25
投稿数: 44
投稿日時: 2006-02-08 17:49
遅くなりました。ありがとうございます。

<a href="nextservlet" target="_blank">サーブレット実行</a>
ではできそうなのですが、この場合、リクエストパラメータはどのように渡せばいいですか?
フォームと違って、そこが難しいです。
URLに?id=dedみたいにするに出来るはずなんですが、どうもわかりません。

また、KOXさんの言うようにやたのですが、新しいウインドウは出来ますが
、フォームをsubmitした結果が、同じウインドウに表示され、新しいウインドウはエラーになります。

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-08 18:00
>URLに?id=dedみたいにするに出来るはずなんですが、どうもわかりません。
その通りです。
<a href="nextservlet?param1=value1&param2=value2" target="_blank">サーブレット実行</a>
みたいにすれば良いはずです。
どうわかりませんか?

>、フォームをsubmitした結果が、同じウインドウに表示され、新しいウインドウはエラーになります。
どのようなエラーがでますか?

[ メッセージ編集済み 編集者: インギ 編集日時 2006-02-08 18:01 ]
れんれん
常連さん
会議室デビュー日: 2005/07/25
投稿数: 44
投稿日時: 2006-02-08 18:28
ありがとうございます。

><a href="nextservlet?param1=value1&param2=value2" target="_blank">サーブレット>実行</a>
>みたいにすれば良いはずです。
>どうわかりませんか?

確かにURLを見るとパラメータは飛ぶのですが、サーブレット側ではどのように受け取りますか?
request.getParameter("param1");ではとれないのですか?

>、フォームをsubmitした結果が、同じウインドウに表示され、新しいウインドウはエラ>ーになります。
>どのようなエラーがでますか?

JSPのエラーがでますが、もう少し試してみます。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-09 02:37
>request.getParameter("param1");ではとれないのですか?
とれると思います。まず試してみてはいかがでしょう。
試してなにか問題が発生したということであれば、具体的に現象を説明して頂ければ幸いです。

>JSPのエラーがでますが、もう少し試してみます。
がんばってください。「うまくいきません」「エラー/例外がでます」では何が起きているか想像つかないことが多いので、もし質問するときは具体的に現象を説明しましょう。

[ メッセージ編集済み 編集者: インギ 編集日時 2006-02-09 02:56 ]
れんれん
常連さん
会議室デビュー日: 2005/07/25
投稿数: 44
投稿日時: 2006-02-11 00:31
返事が遅れました。あのあと、formにtargetを指定するやり方で、別ページへの表示は上手くできました。 ありがとうございます。

request.getParameter("param1");として、URLの後ろのパラメータをとろうとして取れなかった理由は、doPostを使うという間抜けな理由でした。

どうも失礼します。
1

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