Struts 2でServletContextを取得する方法

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;
    }
}