Struts 2でServletContextを取得する方法
Struts 2では、次の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'インターセプターは、アクションクラスがServletContextAwareインターフェイスに実装されていることを確認すると、setServletContext()メソッドを介して要求されたアクションクラスへのServletContext参照を渡します。 。
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; } }