- - PR -
SessionスコープにObjectを格納するキーの管理方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-11 19:41
お世話になっております。
早速質問なのですが、掲題の通りSessionスコープのキーを皆様はどの様に管理されているでしょうか? といいますのも、格納するキーと取得するキーに微妙な差異(スペルミス等)があったりしますと、原因解明が面倒なバグに繋がる可能性があるため、JSPのコンパイル時にエラーとして検出出来る管理方法を模索しています。 今までですと、定数定義クラスを全員で共有し、そこにpublic static final Stringとしてキーを定義していました。 この方法ですと、スクリプトレットを利用して、定義した定数を参照する事により、スペルミスはコンパイルエラーとして検出出来ていました。 しかし、JSPでEL式を利用する場合ですと、定数をそのまま参照することが出来ないため頭を悩ませています。全ての定数にgetterを定義するのも非常に無駄な気がします。 どなたかスマートな解決方法をご存知でしたらご教授願いたく、宜しくお願いいたします。 | ||||
|
投稿日時: 2006-04-11 19:59
こんなパターンはいかがですか。
Beanっぽくラップする方法です。 単体テストにも強いですし、スペルミスも防げますし、EL式でもいけませんか? | ||||
|
投稿日時: 2006-04-12 14:34
>かつのり様
ご返答ありがとうございます。
Sessionのキーを管理するのではなく、Sessionに格納するオブジェクト自体を管理するといった感じですね。確かにこの方法でしたらキャストでコケたりする心配もありませんし、実用性が高いと感じました。 ところで、このBean自体はどの様に管理されているのでしょう? Filterで生成して、ThreadLocalにセットするといったところでしょうか? | ||||
|
投稿日時: 2006-04-13 01:11
普通にサーブレットやStrutsならアクションクラスなどで
生成するのもありでしょうし、DIコンテナを経由するって方法もいいですね。 | ||||
|
投稿日時: 2006-04-13 09:12
>かつのり様
勉強になりました。ご提案していただいた方法を試してみたいと思います。 ありがとうございました。 |
1