ServletRequest
Struts2 インターセプター (アクション クラスではない) 内で属性を設定する必要があります。
セッション属性の場合と同様に、リクエスト属性を制御するために をActionContext
公開しますか?Map<String, Object>
マップをActionContext
実装しています。ActionContext
それ自体がリクエスト属性のラッパーですか?
ServletRequest
Struts2 インターセプター (アクション クラスではない) 内で属性を設定する必要があります。
セッション属性の場合と同様に、リクエスト属性を制御するために をActionContext
公開しますか?Map<String, Object>
マップをActionContext
実装しています。ActionContext
それ自体がリクエスト属性のラッパーですか?
アクション クラス内にないコード (アクション クラスRequestAware
に使用する必要があります) の場合、Struts2 はサーブレット リクエスト属性を Map として公開できます。それらは次の方法でアクセスできます。
Map request = (Map) ActionContext.getContext().get("request");
詳細については、 Strus2 のドキュメントを参照してください。
にはActionContext
、リクエスト オブジェクトを保持するリクエスト キーが含まれています。あなたの質問に答えるには: いいえ、ActionContext
リクエストのラッパーではありませんが、Struts2 のリクエストはサーブレット リクエストのラッパーです。
request
次のようなアクションコンテキストから取得できます
HttpServletRequest request = ServletActionContext.getRequest();
その方法はインターセプターでは便利ですが、実際には実装する方が良いですServletRequestAware
protected HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}