• 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();
        }
        
    }
  • 相关阅读:
    乘法逆元
    17-11-01模拟赛
    17/10-17/11做题记录
    17-10-18模拟赛
    17-10-15模拟赛
    13-2.模板复习priority_queue
    bzoj1042[HAOI2008]硬币购物
    bzoj1057[ZJOI2007]棋盘制作
    bzoj1029[JSOI2007]建筑抢修
    bzoj1068[SCOI2007]压缩
  • 原文地址:https://www.cnblogs.com/songyao/p/4146738.html
Copyright © 2020-2023  润新知