Apache Struts 2 Documentation > Home > FAQs > How can we access the HttpServletResponse |
You can obtain the request by asking the ActionContext or implementing ServletResponseAware. Implementing ServletResponseAware is preferred.
The response is available on the ActionContext instance, which is made available via ThreadLocal.
HttpServletResponse response = ServletActionContext.getResponse();
Preferred
When the servlet-config Interceptor sees that an Action implements ServletResponseAware, it passes a reference to the request the Action's setServletResponse method. |
It is more difficult to test Actions with runtime dependencies on HttpServletReponse. Only implement ServletResponseAware as a last resort. A better approach to solving a use case involving the response may be with a custom Result Type. |
@see struts-default.xml
@see org.apache.struts.action2.interceptor.ServletResponseAware
@see org.apache.struts.action2.interceptor.ServletConfigInterceptor