(七)取得jsp内置对象

        在Struts2.x为了方便的解决这些内置对象的操作,专门提供有一个ServletActionContext的类,这个类里面可以方便的取出常用内置对象:org.apache.struts2.ServletActionContext的类

        取得pageContext:

public static javax.servlet.jsp.PageContext getPageContext()

        取得request:

public static javax.servlet.http.HttpServletRequest getRequest()

       取得response:

public static javax.servlet.http.HttpServletResponse getResponse()

        取得application:

public static javax.servlet.ServletContext getServletContext()

        Http对象可以通过HttpServletRequest接口里面定义的getSession()方法取得.

范例:观察内置对象的信息取得

package cn.zwb.action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.xml.ws.http.HTTPBinding;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class EchoAction extends ActionSupport {
	private String msg;
	public void setMsg(String msg) {
		this.msg = msg;
	}
	public String getMsg() {
		return msg;
	}
	@Override
	public String execute() throws Exception {//执行操作
		HttpServletRequest request=ServletActionContext.getRequest();
		HttpServletResponse response=ServletActionContext.getResponse();
		ServletContext application=ServletActionContext.getServletContext();
		HttpSession session=request.getSession();
		System.out.println("取得请求类型"+request.getContentType());
		System.out.println("回应类型:"+response.getContentType());
		System.out.println("真实路径"+application.getRealPath("/"));
		System.out.println("session id"+session.getId());
		this.msg="ECHO"+this.msg;
		return Action.SUCCESS;		//返回路径映射的key
	}
	
}
        日后如果要由Action传递request属性或者是在session中保存登录信息的话,这些操作就可以使用了.

猜你喜欢

转载自blog.csdn.net/qq1019648709/article/details/80562515