Struts2的Action中如何操作作用域对象

得到作用域对象有三种方法,这里用代码来解释:

 1 package com.cy.action;
 2
 3 import javax.servlet.ServletContext;
 4 import javax.servlet.http.HttpServletRequest;
 5 import javax.servlet.http.HttpServletResponse;
 6
 7 import org.apache.struts2.interceptor.ServletRequestAware;
 8 import org.apache.struts2.interceptor.ServletResponseAware;
 9 import org.apache.struts2.util.ServletContextAware;
10
11 import com.opensymphony.xwork2.ActionSupport;
12
13 public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,ServletContextAware {
14
15     private static final long serialVersionUID = 1L;
16     private ServletContext servletContext;
17     private HttpServletRequest request;
18     private HttpServletResponse response;
19
20     @Override
21     public void setServletContext(ServletContext arg0) {
22         // TODO Auto-generated method stub
23         this.servletContext=arg0;
24
25     }
26
27     @Override
28     public void setServletResponse(HttpServletResponse arg0) {
29         // TODO Auto-generated method stub
30         this.response=arg0;
31
32     }
33
34     @Override
35     public void setServletRequest(HttpServletRequest arg0) {
36         // TODO Auto-generated method stub
37         this.request=arg0;
38     }
39
40     public HttpServletRequest getRequest() {
41         return request;
42     }
43
44     public void setRequest(HttpServletRequest request) {
45         this.request = request;
46     }
47
48     public HttpServletResponse getResponse() {
49         return response;
50     }
51
52     public void setResponse(HttpServletResponse response) {
53         this.response = response;
54     }
55
56     public ServletContext getServletContext() {
57         return servletContext;
58     }
59
60
61
62 }

 1 //--------------Struts2 操作作用域的3种方式-------------------
 2 //        //采用实现接口的方式,来获取作用域(最常用)
 3 //        getRequest().setAttribute(arg0, arg1)
 4 //        getRequest().getSession().setAttribute(arg0, arg1)
 5 //        getServletContext().setAttribute(arg0, arg1)
 6 //
 7
 8 //        //采用ActionContext对象来对作用域进行操作
 9 //        ActionContext ac = ActionContext.getContext();
10 //        ac.put(key, value);//直接对request进行操作。
11 //        ac.getSession().put(key, value)//向Session中设值
12 //        ac.getApplication().put(key, value)//向ServletContext中设值
13
14
15 //        //采用ServletActionContext对象来对作用域进行操作
16 //        HttpServletRequest request = ServletActionContext.getRequest();
17 //        HttpServletResponse response = ServletActionContext.getResponse();
18 //        ServletContext sevletContext = ServletActionContext.getServletContext();
19 //    

随着技术不断的更新,这里的仅供参考!(Struts在公司里已经不再是主流了!)

时间: 2024-08-05 19:32:55

Struts2的Action中如何操作作用域对象的相关文章

在struts2的action中操作域对象(request、session)

在struts2的Action中,操作域对象一共有三种方式: 1.ActionContext(与servelt API无关联): 1 //相当于request 2 ActionContext.getContext().put("userName", user.getUserName()); 3 //相当于session 4 ActionContext.getContext().getSession().put("userName", user.getUserName

【JAVA学习】struts2的action中使用session的方法

尊重版权:http://hi.baidu.com/dillisbest/item/0bdc35c0b477b853ad00efac 在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 下面先看一个采用第一种方式,在action中得到sessi

Struts2 的Action中取得请求参数值的几种方法

Struts2 的Action中取得请求参数值的几种方法 先看GetRequestParameterAction类代码: Java代码 public class GetRequestParameterAction extends ActionSupport { private String bookName; private String bookPrice; public String getBookName() { return bookName; } public void setBook

struts2的action中获得request response session 对象

在struts2中有两种方式可以得到这些对象 1.非IoC方式 要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类.我们可以通过它的静态方法getContext()获取当前Action的上下文对象.有了这个对象我们想获得其他几个对象就好办了 ActionContext ctx = ActionContext.getContext(); Map session = ctx.getSession(); 细心的朋友可以发现这里的sessi

9.Struts2在Action中获取request-session-application对象

为避免与Servlet API耦合在一起,方便Action类做单元测试. Struts2对HttpServletRequest.HttpSession.ServletContext进行了封装,构造了三个Map对象来替代这三种对象. 注意,这三个对象与Servlet API中的三个对象是相同的. 即,在Action中放入Session中信息,在JSP页面中是可以读出来的. 方式一:通过使用ActionContext类获取 在Struts2框架中,通过Action的执行上下文类ActionConte

在Struts2的Action中取得请求参数值的几种方法

把参数放到作用域里面去. 如:action 中: request.setAttribute("参数名","值");   页面上:  request.getAttribute("参数名"); request.getParameter()方法完全可以获得URL参数,检查下是否参数名写错 你使用的是不是BaseAction.如果就是server.getRequest().getParameter() 看看你的控件是不是 name 属性!如果id的话就获

理解Struts2的Action中的setter方法是怎么工作的

接触过webwork和Struts2的同行都应该知道, 提交表单的时候,只要Action中的属性有setter 方法,这些表单数据就可以正确赋值到Action中属性里:另外对于Spring配置文件中声明的bean,也可以在Action中声明setter 方法将其注入到Action实例中.那么现在要研究:这些是怎么工作的呢? (1)提交表单时的参数 在struts2-core-2.3.1.2.jar压缩包内的struts-default.xml配置文件中有这个配置:<interceptor nam

struts2在action中获取request、session、application,并传递数据

如果只是通过request.session.application传递数据,则不需要获取相应的对象也可以传递数据,代码如下: ScopeAction.java: package com.itheima.action; import com.opensymphony.xwork2.ActionContext; public class ScopeAction { public String execute() { /* * 我们这里不通过字段(添加setXXX.getXXX方法)传递数据,我们想着

在Struts2的Action中获得request response session几种方法

转载自~ 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象呢?Struts2为我们提供了四种方式.分别为servlet 不相关的 非IoC 取得Request等对象的方式servlet 不相关的 IoC 取得Request等对象的方式servlet 相关的 非IoC 取得Request等对象的方式servlet 相关的 IoC 取得Request等对象的方式以下分别叙述.首先请看struts.xml文件文