局部视图的配置
全局视图的配置
十三、Struts2中调用ServletAPI
获取ServletAPI的两种方式:
第一种方式:使用的是ServletActionContext的对象(此种方式简单明了,推荐此种方式)
第二种方式:使用的是依赖注入的形式,把我们想要的对象注入进来,是由一个拦截器为我们做的。需要实现3个接口,实现其中的方法。
示例代码如下:
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
/**
* 获取ServletAPI的两种方式:
* 第一种方式:使用的是 ServletActionContext 的对象(此种方式简单,推荐此种方式)
* 第二种方式:使用的是 依赖注入 的形式,把我们想要的对象注入进来,是由一个拦截器为我们做的。需要实现3个接口,实现其中的方法。
*
* @author cmj
*/
public class Demo1Action extends ActionSupport
implements ServletRequestAware, ServletResponseAware, ServletContextAware {
private HttpServletRequest request;
private HttpServletResponse response;
private ServletContext application;
public String execute() {
// 方式一:使用 ServletActionContext 对象
// HttpServletRequest request = ServletActionContext.getRequest();
// HttpServletResponse response = ServletActionContext.getResponse();
// ServletContext application = ServletActionContext.getServletContext();
// HttpSession session = request.getSession();
// System.out.println(request); // org.apache.struts2.dispatcher.StrutsRequestWrapper@500b3f4c
// System.out.println(response); // org.apache.catalina.connector.ResponseFacade@1268bfa2
// System.out.println(application); // org.apache.catalina.core.ApplicationContextFacade@1afd2e1f
// System.out.println(session); // org.apache.catalina.session.StandardSessionFacade@63df0310
// 方式二:使用依赖注入
HttpSession session = request.getSession();
System.out.println(request);
System.out.println(response);
System.out.println(application);
System.out.println(session);
return null;
}
@Override
public void setServletContext(ServletContext application) {
this.application = application;
}
@Override
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}
十四、分文件编写Struts2的配置文件