• 締切済み

サブウィンドウへのデータの受け渡し方

はじめまして。 一覧画面から、ボタン押下でサブウィンドウを開き、詳細登録画面を表示するというような、 複数サブウィンドウで構成される webアプリケーションをつくりたいのですが、 実現可能かわからなく、困っています。 (1)サブウィンドウへのデータの受け渡し sessionにユーザ情報やその他のデータを格納して、 サブウィンドウに情報を渡そうと思っていますが、 sessionに格納した情報はサブウィンドウにも引継ぎができますか? sessionのスコープで調べていたのですが、 よくわかりませんでした。 (2)一つのブラウザ上で画面遷移せず、ほとんどサブウィンドウを開いて画面遷移する構成にしています。 こういう構成のwebアプリケーションを今まで見たことがなく、何か問題や弊害があるのではないか? webアプリケーションの構成として間違っていないか?不安です。 ちょっとしたことでもご指摘いただければありがたいです。 よろしくお願いします。

みんなの回答

  • nuki
  • ベストアンサー率30% (6/20)
回答No.1

(1)可能です。 サブウィンドウを開く際に指定するURIに、一覧画面のformタグのaction属性に指定したものと同じセッションIDを渡すことで実現できます。 jspの場合、action属性にはresponse.encodeURL("サーブレットのURI")を指定していると思いますが、これをそのままサブウィンドウを開く際のURIに指定します。 (例1)HTMLの場合 <a href="<%=response.encodeURL("サーブレットのURI?a=b")%>" target="_blank">サブウィンドウ</a> (例2)JavaScriptの場合 open('<%=response.encodeURL("サーブレットのURI?a=b")%>', '_blank'); (2)サブウィンドウを開く構成のWebアプリケーションは意外とある。 社内向けの業務アプリケーションの場合、この手法をとっているものは、そこそこあると思います。 置き換え元がクライアント/サーバ型である場合は、画面遷移までを同じにする顧客からのリクエストが多いからです。 注意点としては、サブウィンドウから更新処理を行なうパターンがある場合と、親ウィンドウ(ここでは一覧画面)が閉じられた場合の処理ぐらいではないかと思います。