SSH框架之Struts的数据处理
2017-01-03 16:38
260 查看
Struts的数据处理:对数据操作的所有方法(把数据保存到域中)
一、三种方式进行数据处理
方式一:直接获取servletapi执行操作
核心类:ServletActionContext提供的静态方法
方式二:通过ActionContext获取不同的(代表request/session/application的)map
方式3:实现接口的方法:RequestAware/SessionAware/ApplicationAware
二、struts.xml配置及data.jsp
三、运行结果:
1、方式1的结果省略同方式2,方式2结果:
2、方式3的结果
一、三种方式进行数据处理
方式一:直接获取servletapi执行操作
核心类:ServletActionContext提供的静态方法
package sram.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 { public String execute() throws Exception{ //1.请求数据封装;2.调用Service处理业务逻辑,拿到结果数据 //3.数据保存到域中 //Struts中对数据操作,方式1:直接拿到ServletApi,执行操作 HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession(); ServletContext application = ServletActionContext.getServletContext(); //操作 request.setAttribute("request_param", "request_data"); session.setAttribute("session_param", "session_data"); application.setAttribute("application_param", "application_data"); return SUCCESS; } }
方式二:通过ActionContext获取不同的(代表request/session/application的)map
package sram.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 { public String execute() throws Exception{ //1.请求数据封装;2.调用Service处理业务逻辑,拿到结果数据 //3.数据保存到域中 //【推荐】但是当我们要使用一些非域对象功能,就必须要用方式1了,如: //application.getContextPath()就要使用方式1来操作。 //【解耦的方式实现对数据的操作,即Struts与Servlet没有耦合】 //Struts中对数据操作,方式2:通过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_param", "request_data_actioncontext"); session.put("session_param", "session_data_actioncontext"); application.put("application_param", "application_data_actioncontext"); return SUCCESS; } }
方式3:实现接口的方法:RequestAware/SessionAware/ApplicationAware
package sram.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:实现接口的方法 */ public class DataAction2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{ private Map<String, Object> request; private Map<String, Object> session; private Map<String, Object> application; //Struts运行的时候,会把代表request的map对象注入 public void setRequest(Map<String, Object> request) { this.request = request; } //注入session public void setSession(Map<String, Object> session) { this.session = session; } //注入application public void setApplication(Map<String, Object> application) { this.application = application; } public String execute() throws Exception{ //数据 request.put("request_param", "request_dat 4000 a_actionaware"); session.put("session_param", "session_data_actionaware"); application.put("application_param", "application_data_actionaware"); return SUCCESS; } }
二、struts.xml配置及data.jsp
三、运行结果:
1、方式1的结果省略同方式2,方式2结果:
2、方式3的结果
相关文章推荐
- 自学SSH框架之---struts(二):struts如何接受表单数据,并在处理后转发出去
- struts:将Action处理后的数据传递给前台jsp页面
- 基于Struts做应用程序开发的时候,对日期数据的处理
- 处理乱码及通过Struts标签显示数据
- Spring+Struts+Hibernate 架构中对Oracle9i中clob字段的处理之--新增数据篇
- SSH框架之Struts的常用技术——数据回显、防止表单重复提交
- struts1 采用json格式发送异步请求,并且获取action处理后的json数据 .
- struts1 采用json格式发送异步请求,并且获取action处理后的json数据
- SSH框架:一对多数据表处理
- SSH框架之Struts的请求数据自动封装
- 基于Struts做应用程序开发的时候,对日期数据的处理
- 使用 Struts 2 进行动态数据处理
- struts中数据处理
- Struts2下处理表单数据
- SSH框架之Struts的数据校验(2)
- struts1 采用json格式发送异步请求,并且获取action处理后的json数据
- Spring+Struts+Hibernate 架构中对Oracle9i中clob字段的处理之--新增数据篇
- 自学SSH框架之---struts(四):struts1数据验证方面简介
- SSH框架之Struts的数据校验(1)