Как получить ServletContext в Struts 2
В Struts 2 вы можете использовать следующие два метода для получения объектаServletContext.
1. ServletActionContext
Получите объект ServletContext прямо изorg.apache.struts2.ServletActionContext.
import javax.servlet.ServletContext;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class CustomerAction extends ActionSupport{
public String execute() throws Exception {
ServletContext context = ServletActionContext.getServletContext();
return SUCCESS;
}
}
2. ServletContextAware
Сделайте так, чтобы ваш класс реализовал интерфейсorg.apache.struts2.util.ServletContextAware.
Когда перехватчик Struts 2 'servlet-config' видит, что класс Action реализует интерфейсServletContextAware, он передает ссылкуServletContext на запрошенный класс Action через методsetServletContext() .
import javax.servlet.ServletContext;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
public class CustomerAction
extends ActionSupport implements ServletContextAware{
ServletContext context;
public String execute() throws Exception {
return SUCCESS;
}
public void setServletContext(ServletContext context) {
this.context = context;
}
}