package com.zyf.c_data; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; 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; /** * 数据处理 方式3:实现接口的方法 * @author root * */ public class DataAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{ //struts运行时候,会把代表request的map对象注入 private Map<String,Object> request; private Map<String,Object> session; private Map<String,Object> application; @Override public String execute() throws Exception { // TODO Auto-generated method stub request.put("request_data", "request_ApplicationAware"); request.put("request_data", "request1_ApplicationAware"); session.put("session_data", "session_ApplicationAware"); application.put("application_data", "application_ApplicationAware"); return SUCCESS; } @Override public void setRequest(Map<String, Object> request) { // TODO Auto-generated method stub this.request = request; } //注入session @Override public void setSession(Map<String, Object> session) { // TODO Auto-generated method stub this.session = session; } //注入application @Override public void setApplication(Map<String, Object> application) { // TODO Auto-generated method stub this.application = application; } }
package com.zyf.c_data;import java.util.Map;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class DataAction extends ActionSupport{ @Override public String execute() throws Exception { // TODO Auto-generated method stub //1、请求数据封装 //2、调用Service处理业务逻辑,拿到结果数据 //3、数据保存到域中 //Struts中对数据操作 //方式一 直接拿到ServletApi,执行操作 /* HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession(); ServletContext application = ServletActionContext.getServletContext(); //操作 request.setAttribute("request_data", "request_data1"); request.setAttribute("request_data", "request_data2"); session.setAttribute("session_data", "session_data1"); application.setAttribute("application_data", "application_data1");*/ //推荐使用:解耦的方式实现对数据的操作 //Struts 中对数据操作,方式二 通过ActionContext类 ActionContext ac = ActionContext.getContext(); //得到Struts对HttpServletRequest对象进行了封装,封装为了一个map //拿到表示request对象map Map<String,Object> request = ac.getContextMap(); //拿到表示session对象的map Map<String,Object> session = ac.getSession(); //拿到servletContext对象的map Map<String,Object> application = ac.getApplication(); //数据 request.put("request_data", "request"); request.put("request_data", "request1"); session.put("session_data", "session"); application.put("application_data", "application"); return SUCCESS; }}
Struts2.0 数据的存储
最新推荐文章于 2020-03-29 17:51:41 发布