首页 > 代码库 > Struts2 设置返回参数的四种方法

Struts2 设置返回参数的四种方法

四种方法设置返回时的参数

(一)

import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction1 extends ActionSupport {        private Map request;    private Map session;    private Map application;        //使用ActionContext对request ,session和application分别初始化    public LoginAction1() {        request = (Map)ActionContext.getContext().get("request");        session = ActionContext.getContext().getSession();        application = ActionContext.getContext().getApplication();    }        public String execute() {        request.put("r1", "request");        session.put("s1", "session");        application.put("a1", "application");        return SUCCESS;     }

(二)

import java.util.Map;import org.apache.struts2.interceptor.ApplicationAware;import org.apache.struts2.interceptor.RequestAware;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {        private Map<String, Object> request;    private Map<String, Object> session;    private Map<String, Object> application;        //DI dependency injection    //IoC inverse of control    public String execute() {        request.put("r1", "r1");        session.put("s1", "s1");        application.put("a1", "a1");        return SUCCESS;     }    @Override    public void setRequest(Map<String, Object> request) {        this.request = request;    }    @Override    public void setSession(Map<String, Object> session) {        this.session = session;    }    @Override    public void setApplication(Map<String, Object> application) {        this.application = application;    }        }

(三)

import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction3 extends ActionSupport {        private HttpServletRequest request;    private HttpSession session;    private ServletContext application;        public LoginAction3() {        request = ServletActionContext.getRequest();        session = request.getSession();        application = session.getServletContext();    }        public String execute() {        request.setAttribute("r1", "r1");        session.setAttribute("s1", "s1");        application.setAttribute("a1", "a1");        return SUCCESS;     }    }

(四)

import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.interceptor.ServletRequestAware;import com.opensymphony.xwork2.ActionSupport;public class LoginAction4 extends ActionSupport implements ServletRequestAware {        private HttpServletRequest request;    private HttpSession session;    private ServletContext application;                public String execute() {        request.setAttribute("r1", "r1");        session.setAttribute("s1", "s1");        application.setAttribute("a1", "a1");        return SUCCESS;     }    @Override    public void setServletRequest(HttpServletRequest request) {        this.request = request;        this.session = request.getSession();        this.application = session.getServletContext();    }    }

 

Struts2 设置返回参数的四种方法