2012-04-03 11 views
1

strutsフォームオブジェクト内からセッションに格納された変数にアクセスすることはできますか?strutsフォームオブジェクトからセッションにアクセスする方法

public class MyForm extends ActionForm {...} 
+0

request.getSession()。それはあなたが探しているものですか? – kosa

+0

以下のように:利用可能な要求オブジェクトはありませんか? –

+1

actionServlet(または)JSPのいずれかのフォームに値を設定する必要があります。私はあなたがここでリクエストに直接アクセスできるとは思わない(あなたがカスタマイズをしない限り)。 – kosa

答えて

1

actionServlet(または)JSPのいずれかのフォームに値を設定する必要があります。私はあなたがここでリクエストに直接アクセスできるとは思わない(あなたがカスタマイズをしない限り)。

0

あなたはHttpServletRequestを使用して、セッション内の属性を取得することができます。

request.getSession(false).getAttribute("yourAttributeName"); 
+0

strutsフォームオブジェクトで利用可能なリクエストオブジェクトはありません。 –

+0

これは検証方法ですが、アクセスしたい場所ではないと思います。私はあなたに確認を求めていたはずです。 –

0

Have'ntは自宅で試してみましたが、あなたが使用することができます:

private HttpServletRequest request; 

public void reset(ActionMapping mapping, HttpServletRequest request) { 
    this.request = request; 
} 

とで要求を保存します上記のように後で使用するためのローカルフィールド。

4

我々が開発し、ActionContextFilterで、私たちはActionContextクラスを持って、あなたの問題を知っているのStruts 1を用いて非常に大規模なプロジェクトを維持している、フィルタはThreadLocalメンバーを使用して、現在のスレッドにリクエストとレスポンスのオブジェクトを結合し(と明らかにプロセスの終わりにそれらのバインドを解除します)。

ActionContext.getCurrentContext().getRequest()ActionContext.getCurrentContext().getResponse()を使用して、リクエスト、レスポンスなどにアクセスできるようになりました。

私は同じことがたくさんお手伝いできると信じています。

全体のアイデアは、でした。Clinton Beginさん(iBatisの著者)のサンプルPetStoreです。彼はそのサンプルのStruts 1の周りに良い拡張を構築しました。私は全体の作業をレビューすることをお勧めします。

関連する問題