- 締切済み
Java Webアプリケーション開発。別画面起動
JavaのWebアプリケーションの開発で質問です 共通JavaBean、画面JavaBeanを用意しセッション毎に保持させています。 共通JavaBeanはセッションが切れるまで保持され、画面JavaBeanは画面が遷移するたびに遷移先の画面JavaBeanへと入れ替えを行っています。 遷移元と遷移先の画面が同じ場合は画面JavaBeanの入れ替えは行っていません(ページングする画面でチェックボックスなどの選択状態を保持したい為) 共通JavaBean = { 画面JavaBean={ }, 項目, 項目, 項目 } 通常遷移の画面A⇒画面Bやページングの画面A⇒画面Aなどの処理はこのままでいけるのですが、画面A⇒画面Cを別画面起動する時にどうしたらいいのか分からなくなってしまいました。 画面Cを別画面で立ち上げた時、遷移先が違うの画面なので画面JavaBeanが入れ替えられてしまいます。しかし、画面Aがページングの画面の時、別画面が起動した場合でもそれまで入力・選択した情報は保持したいのです。 「共通JavaBeanにページング画面のデータ保持用の項目を設ける(入力・選択リスト※ページングの存在する画面は1つではないのであまり実用性はないかな?)」 「別画面起動は画面JavaBeanは共通JavaBeanに別項目として保持する(画面JavaBeanメイン={},画面JavaBeanサブ={})」 「別画面起動かどうかのパラメータを渡して別画面起動の場合、画面Cの処理は行うが処理結果をすべてパラメータ(Responseに設定)で渡す。(JavaBeanを設定しない)」 「ページング画面に別画面起動を作成しない」←逃げ 「ページング画面で別画面起動時に入力・選択状態が解除される旨を伝えるメッセージを表示する」←逃げ 自分でもいくつかパターンは考えているんですが、どうも自分の中ではパッとしないです。 別画面起動した画面でも色々操作できるようにしたいとも思っているからでしょうか?(たぶん別画面起動した画面では表示専用とか制限をかけたら楽なんでしょうね) お力添えをお願いします。 【重要点】 (1)別画面を起動した親画面のJavaBean情報は破棄しない (2)別画面起動した画面でも処理が行える 【開発環境】 言語:Java ソフト:Eclipse 個人開発です。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- teketon
- ベストアンサー率65% (141/215)
○「共通JavaBeanにページング画面のデータ保持用の項目を設ける(入力・選択リスト※ページングの存在する画面は1つではないのであまり実用性はないかな?)」 △「別画面起動は画面JavaBeanは共通JavaBeanに別項目として保持する(画面JavaBeanメイン={},画面JavaBeanサブ={})」 ×「別画面起動かどうかのパラメータを渡して別画面起動の場合、画面Cの処理は行うが処理結果をすべてパラメータ(Responseに設定)で渡す。(JavaBeanを設定しない)」 ◎「ページング画面に別画面起動を作成しない」←逃げ -「ページング画面で別画面起動時に入力・選択状態が解除される旨を伝えるメッセージを表示する」←逃げ JSFとManagedBeanを使います。 ◎オススメ ○JSFで普通の処理 △分けられるなら画面分割する必要もなく、あまり意味が無い。 ×バリデータを通らないケースが出てくるのでやっていけない。
お礼
やっぱり機能制限(逃げ)が楽ですかね(笑) ありがとうございました!