当前位置: 首页 > 教程 > Struts2 >

如何获取ServletContext对象

精华
小牛编辑
183浏览
2023-03-14
在Struts2中,可以使用以下两种方法来获取ServletContext对象。

1. ServletActionContext

直接从 org.apache.struts2.ServletActionContext 获取 ServletContext 对象。
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接口。
当Struts2 的 “servlet-config”拦截器是看到了一个Action类实现ServletContextAwareinterface,它会通过一个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;
	}
}

参考

  1. Struts 2 ServletContextAware文档