- PR -

struts struts-config(scope=session)

投稿者投稿内容
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2003-11-11 10:10
手元にstrutsで作成したアプリケーションのソースが
無いので自信は無いのですが、登録画面から実行されるActionの
中で確認画面側のFormオブジェクトに値を詰めなおせば
良いと言う話では無いのですか?
おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2003-11-11 10:18
すみません。確認画面からのサブミット時の話でしたね。
私の発言は無視してください。
roushi
常連さん
会議室デビュー日: 2003/07/18
投稿数: 28
投稿日時: 2003-11-11 12:45
PALさんへ

引用 start ------------------------------------------------------
ですが、struts-config.xmlのみで解決するのは無理ですよね?
ActionFormは消えますから。
引用 end ------------------------------------------------------

登録画面
↓ ボタン押下 :セッション内にActionFormの情報を保持
登録内容の確認画面
↓ ボタン押下
実際の登録処理 :セッション内のActionFormの情報を使って登録

ということは全ての画面で同じActionFormを使っているので
struts-config.xmlのscope属性をsessionに変えれば
いけるのかなと思いました。

間違っていたらご指摘下さい。
(ちょっと話にのるのが遅すぎました^_^
toppo
ベテラン
会議室デビュー日: 2003/10/28
投稿数: 89
お住まい・勤務地: 東京・池袋
投稿日時: 2003-11-11 17:39
toppoです。
うーんかなりスレッドが
混乱している。。(多分私のせいです。)

noriさんの記述を私が大きく勘違いしていたようです。

話を整理しますと。

nori> sessionが不要になった場合に削除したいときは、 やはりプログラム側でセッション削除のコードを書く必要があるのでしょうか?

ゆん>私はスコープを必ずrequestにしています。

nori>確認画面で入力された情報をHiddenで隠すのは セキュリティ上あまりよくないと思いセッションに保持しています。

この時点は私は大きな、しかも失礼な勘違いをしてしまいました。
私の勘違い>(noriさんはhiddennで隠す事とrequestスコープを勘違いしているな)

少なくとも私はそう思ってしまいました。

よくよく読んでみると、このような状況下でrequestスコープを利用すれば、
hiddennで隠す事は必須になり、その事についてnoriさんは再三
言及していらっしゃいましたね。

混乱させてスミマセンでした。

改めてスレッドの内容に戻らせていただくと、

sessionスコープに値を入れているので、
コンテナはsession中は維持しようとするので
ビジネスルールとしてスコープを登録処理までと、定義するなら
そのようなコードを記述するのは必要な事ではないかなぁと思います。

それでは失礼します。
nori1122
常連さん
会議室デビュー日: 2003/09/14
投稿数: 30
投稿日時: 2003-11-11 20:00
まとめありがとうございます。
すっきりしました。

ただ、途中で変化した議論はすこし興味があります。
「確認画面としてHiddenを使うべきか、Sessionで持つべきか」
またスレッドをかえて議論したいと思うんですが、いかがでしょうか?
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2003-11-12 09:21
引用:

nori1122さんの書き込み (2003-11-11 20:00) より:
ただ、途中で変化した議論はすこし興味があります。
「確認画面としてHiddenを使うべきか、Sessionで持つべきか」
またスレッドをかえて議論したいと思うんですが、いかがでしょうか?



スレッドは変えるのは問題ないかと思いますが、
私はhiddenで隠すのは論外だと思います。

せめて最初の問いかけを

a.登録画面

b.登録内容の確認画面
↓ ボタン押下
c.実際の登録処理

とする場合、ActionFormの内容を
1.Sessionスコープで管理する。
2.requestスコープで管理する。(a→bの遷移時にhiddenで情報を隠す)
3.requestスコープで管理する。(a→bの遷移時に再度requestにActionFormの情報を詰め直す)

としたほうが良いのでは?
ちなみに、私はhiddenでやっちゃうと、セキュリティ的に問題があると思いますので、論外だと思いますが。
どうでしょう?

[ メッセージ編集済み 編集者: PAL 編集日時 2003-11-12 09:26 ]
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2003-11-12 09:22
引用:

roushiさんの書き込み (2003-11-11 12:45) より:
PALさんへ
ということは全ての画面で同じActionFormを使っているので
struts-config.xmlのscope属性をsessionに変えれば
いけるのかなと思いました。
間違っていたらご指摘下さい。
(ちょっと話にのるのが遅すぎました^_^


いえ、問題なく動作すると思います。^^;
確かに議論が錯綜しているかも、、、
toppo
ベテラン
会議室デビュー日: 2003/10/28
投稿数: 89
お住まい・勤務地: 東京・池袋
投稿日時: 2003-11-12 12:54
引用:

PALさんの書き込み (2003-11-12 09:21) より:
引用:

nori1122さんの書き込み (2003-11-11 20:00) より:
ただ、途中で変化した議論はすこし興味があります。
「確認画面としてHiddenを使うべきか、Sessionで持つべきか」
またスレッドをかえて議論したいと思うんですが、いかがでしょうか?



スレッドは変えるのは問題ないかと思いますが、
私はhiddenで隠すのは論外だと思います。

せめて最初の問いかけを

a.登録画面

b.登録内容の確認画面
↓ ボタン押下
c.実際の登録処理

とする場合、ActionFormの内容を
1.Sessionスコープで管理する。
2.requestスコープで管理する。(a→bの遷移時にhiddenで情報を隠す)
3.requestスコープで管理する。(a→bの遷移時に再度requestにActionFormの情報を詰め直す)

としたほうが良いのでは?
ちなみに、私はhiddenでやっちゃうと、セキュリティ的に問題があると思いますので、論外だと思いますが。
どうでしょう?

[ メッセージ編集済み 編集者: PAL 編集日時 2003-11-12 09:26 ]



理想的には3に一票です。
2がセキュリティ的に問題があるというのは、
その内容によりけりじゃないですかね。
必ず問題になるとは思いません。

積極的に選択する理由も無いですが。。

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