strutsフォームオブジェクト内からセッションに格納された変数にアクセスすることはできますか?strutsフォームオブジェクトからセッションにアクセスする方法
public class MyForm extends ActionForm {...}
strutsフォームオブジェクト内からセッションに格納された変数にアクセスすることはできますか?strutsフォームオブジェクトからセッションにアクセスする方法
public class MyForm extends ActionForm {...}
actionServlet(または)JSPのいずれかのフォームに値を設定する必要があります。私はあなたがここでリクエストに直接アクセスできるとは思わない(あなたがカスタマイズをしない限り)。
あなたはHttpServletRequest
を使用して、セッション内の属性を取得することができます。
request.getSession(false).getAttribute("yourAttributeName");
strutsフォームオブジェクトで利用可能なリクエストオブジェクトはありません。 –
これは検証方法ですが、アクセスしたい場所ではないと思います。私はあなたに確認を求めていたはずです。 –
Have'ntは自宅で試してみましたが、あなたが使用することができます:
private HttpServletRequest request;
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.request = request;
}
とで要求を保存します上記のように後で使用するためのローカルフィールド。
我々が開発し、ActionContextFilter
で、私たちはActionContext
クラスを持って、あなたの問題を知っているのStruts 1を用いて非常に大規模なプロジェクトを維持している、フィルタはThreadLocal
メンバーを使用して、現在のスレッドにリクエストとレスポンスのオブジェクトを結合し(と明らかにプロセスの終わりにそれらのバインドを解除します)。
ActionContext.getCurrentContext().getRequest()
とActionContext.getCurrentContext().getResponse()
を使用して、リクエスト、レスポンスなどにアクセスできるようになりました。
私は同じことがたくさんお手伝いできると信じています。
全体のアイデアは、でした。Clinton Beginさん(iBatisの著者)のサンプルPetStoreです。彼はそのサンプルのStruts 1の周りに良い拡張を構築しました。私は全体の作業をレビューすることをお勧めします。
request.getSession()。それはあなたが探しているものですか? – kosa
以下のように:利用可能な要求オブジェクトはありませんか? –
actionServlet(または)JSPのいずれかのフォームに値を設定する必要があります。私はあなたがここでリクエストに直接アクセスできるとは思わない(あなたがカスタマイズをしない限り)。 – kosa