在action中获取到request/response/session/application对象:
一、
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
ServletContext application = ServletActionContext.getServletContext();
二、
ActionContext context = ActionContext.getContext();
Map request = (Map)ActionContext.getContext().get("request");
Map session = ActionContext.getContext().getSession();
Map application = context.getApplication();
不能获得response 对象
注:
Static ActionContext getContext() ---获得当前线程的向下文
Object get(Object key) ---- getAttribute()
void put( Object key, Object value ) ---- setAttribute()
Map getParameter() 相当于Servlet中的getParameterMap()
Map getApplication() 对应于ServletContext
·ActionContext
ActionContext(com.opensymphony.xwork.ActionContext)是Action执行时的上下文,上下文可以看作是一个容器(就是一个Map而已),它存放的是Action在执行时需要用到的对象,比如:在使用WebWork时,我们的上下文放有请求的参数(Parameter)、会话(Session)、Servlet上下文(ServletContext)、本地化(Locale)信息等。WebWork负责将Servlet相关数据转换为与ServletAPI无关的Map对象(即ActionContext),使得xwork的Action实现与web层、逻辑层与表现层的解耦。
在每次执行Action之前都会创建新的ActionContext,ActionContext是线程安全的,也就是说在同一个线程里ActionContext里的属性是唯一的,这样我的Action就可以在多线程中使用。我们可以通过ActionContext的静态方法:ActionContext.getContext()来取得当前的ActionContext对象。
·ServletActionContext
提供直接与Servlet容器交互的途径。通过它,可以取得HttpServletRequest、HttpServletResponse 、ServletConfig、ServletContext、PageContext对象。但是,使用ServletActionContext意味着Action与ServletAPI的紧密耦合。
分享到:
相关推荐
在Struts2中,访问request、session和application对象是进行数据共享和传递的重要手段。这篇学习笔记主要探讨了如何在Struts2框架下有效地利用这三种域对象。 首先,request对象代表一次HTTP请求,它存储的数据仅...
在Struts2中,有四种主要的方式可以用来操作request、session和application上下文中的数据。这篇内容将深入探讨这四种方法,并结合源码和实用工具来帮助理解。 1. **ActionContext**: Struts2的核心组件...
以下将详细介绍如何在Struts2的Action中获取request、response、session。 ### 1. 使用ActionContext获取request、response、session Struts2的Action可以通过`ActionContext`来间接获取`request`、`response`和`...
在 Struts2 中,处理用户请求时经常需要使用到 Servlet 的内置对象,比如 Request、Session 和 Application,这些对象可以帮助开发者存储和获取数据。然而,在实际应用中,为了避免代码与 Servlet API 过度耦合,...
在Struts2中,访问Web资源,如application、session和request,是常见的操作,这有助于实现数据共享和传递。本示例代码将帮助开发者更好地理解和运用这些功能。 一、Application域对象 Application域对象在所有用户...
在Struts2框架中,理解并正确使用request、response、session和application范围对于有效地管理数据和状态至关重要。这些范围帮助我们在Web应用程序中实现逻辑和数据流的分离,提高代码的可维护性和可扩展性。通过...
在Struts2中,ActionContext不仅仅是获取request和response的工具,它还包含了其他有用的上下文信息,如session、application等。例如,你可以通过ActionContext获取session中的数据: ```java Map, Object> ...
在Struts2中,`session`对象通常被封装成`SessionMap`的形式。获取`SessionMap`对象的方法有: ```java // 方法A Map session = ActionContext.getSession(); // 方法B Map session = (Map) ActionContext....
2.修改题目1,将提交的“用户名信息”保存到request中,“密码信息”保存到session中,而“用户是否已经注册的判定信息”保存在application中,并在显示页面中,分别从request、session和application中获取数据并...
通过`pageContext`,我们可以方便地获取到如`request`、`session`、`application`等内置对象,这对于实现自定义标签非常有帮助。 #### 2.2 获取`HttpSession`的具体方法 在自定义标签的Java类中,可以通过以下方式...
Struts2中的范围对象 #### 1.1 ActionContext **ActionContext** 是Struts2框架中的一个核心组件,它为Action提供了上下文环境。通过调用 `ActionContext.getContext()` 方法可以获得当前的ActionContext实例。...
在Struts2中,`#`符号通常用于访问Ognl表达式中的变量。它支持访问不同的作用域,如当前页面、请求范围、会话范围以及应用程序范围。下面将分别介绍这些不同作用域的访问方式: 1. **当前页面**:当需要访问当前...
象,如HttpServletRequest、HttpServletResponse,或者需要访问Session和Application等信息,在Struts2框架中,我们可以利用ActionContext和ServletActionContext这两个类。ActionContext是Struts2提供的一个核心上...
ActionContext是Struts2框架中一个关键的组件,它提供了当前请求上下文的信息,而OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在模型和视图之间进行数据传递。下面将详细探讨这两个...
4. 命名对象:包括在Servlet作用范围内的对象信息,如Request、Session、Application等。 在实际开发中,开发者可以通过OGNL表达式访问值栈中的Action属性、对象和其他信息。例如,使用标签可以输出Action中的属性...
### 学习OGNL在Struts2中的工作原理 #### OGNL简介 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架的一个核心特性之一,被广泛应用于框架的...
在Struts2中,配置文件扮演着至关重要的角色,它定义了应用的行为、组件之间的交互逻辑以及各种资源的映射关系。 #### 二、Struts2配置文件详解 **配置文件格式:** Struts2配置文件通常以`struts.xml`命名,采用...
在Struts2中,通常会将Action对象设置为根对象(root),而其他Web域对象(如request, session, application)则作为非根对象进行管理。 - **根对象(root)与非根对象**:根对象在获取数据时不需要加上`#`符号,而非根...
OGNL在Struts2中主要用于页面显示数据、表单验证、后端逻辑处理等方面。在Struts2中使用OGNL表达式主要涉及以下几种符号:“#”、“%”和“$”。 ##### 1. “#”符号的使用 - **访问Struts2上下文**: - `#`可用于...