Struts 2では、次の2つの方法で `HttpServletResponse`オブジェクトを取得できます。

1. ServletActionContext


ServletActionContext`クラスを介して

HttpServletResponse`にアクセスしてください。

package com.mkyong.common.action;

import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;

public class LocaleAction{
   //business logic
    public String execute() {
        HttpServletResponse response = ServletActionContext.getResponse();

        return "SUCCESS";
    }
}

2. ServletResponseAware


ServletResponseAware`インターフェースを実装して

HttpServletResponse`にアクセスし、 `setServletResponse()`メソッドをオーバーライドしてください。

もちろん、カスタムのgetServletResponse()を作成して、簡単に `HttpServletResponse`を得ることができます。

package com.mkyong.common.action;

import java.util.Locale;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletResponseAware;

public class LocaleAction implements ServletResponseAware{

    HttpServletResponse response;

   //business logic
    public String execute() {
        Locale locale = getServletResponse().getLocale();
        return "SUCCESS";
    }

    public void setServletResponse(HttpServletResponse response) {
        this.response = response;
    }
    public HttpServletResponse getServletResponse() {
        return this.response;
    }
}

両方の機構が同じ

HttpServletResponse`オブジェクトを取得していますが、

ServletResponseAware`を使うためにStruts 2のドキュメントが推奨されています。