通过 servletactioncontext 类来访问 httpservletresponse 。
package com.h3.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";
}
}
package com.h3.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 对象,但 struts2 文档推荐使用 servletresponseaware,请参见下面的参考资料: