0

Struts 1(レガシープロジェクトのメンテナンスタスク)を使用しています。アプリケーションは、DAOレイヤークラスをインスタンス化して使用するManagerクラスとManagerクラスを呼び出すActionClassesで階層化されています。

条件付きロジックをコーディングする必要があります。セッション変数に基づいて、DAOレイヤーで異なるDB2スキーマを切り替えます。

DAO Javaクラスでセッションを読み取るにはどうすればよいですか?明らかな方法の1つは、マネージャー/ daoクラスコンストラクターをリファクタリングして、すべての呼び出しチェーンを介してセッション変数を渡すことです。

Struts 2では、ActionContext.getContext().getSession();

Struts 1でできるようなことはありますか?

---編集すべての純粋主義者(私を含む)のために-------------

更新されたビジネスロジックのプロトタイピングのために、このコードベースに取り組んでいます。これは継承されたコードで、2003年から2004年に書き戻されました。プロトタイピング後、このコードはまったく使用されず、ごみ箱に直接送られます。

DAOがHTTPセッションにアクセスする必要がないことを理解しています。これは、コードを作成するときに従うものです。

しかし、私の質問は、Struts 1フレームワーク(フィルター/ハック)でDAOのセッションにアクセスする方法はありますか?

4

2 に答える 2

1

最も簡単なのは、静的メソッドを介してアクセスされる、おそらくフィルターまたは簡単にカスタマイズされた要求プロセッサーに設定されたスレッドをローカルにすることです。汚れた感じがします。

于 2012-05-16T22:22:00.670 に答える
0

あなたはこれをしません。将来的には、大きな頭痛の種になります。代わりに、コールチェーンを介して値を渡します。

于 2012-05-16T21:33:33.940 に答える