Как получить 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; } }