`

Struts2 ActionContext备忘

阅读更多

ActionContext为Struts提供数据环境,维护着一个Map结构,ValueStack中的每一个元素都是根对象,Action位于ValueStack的最顶层.ActionContext中封装了servlet对象,从而将Action与Servlet解耦 (即Action无需依赖任何Servlet API).
Map结构如图:


获取request、session的方法

  2.1 与servlet无关:

  2.1.1 非IoC模式

  Java代码

  ActionContext context ;//该方法还可以取得值栈(getValueStack()),使用push(obj)往值栈中放数据

  Map request ;

  Map session ;

  Map application ;

  //以下初始化方法要放在方法中

  context = ActionContext.getContext();

  request = (Map)context.get("request");//获取request

  session = context.getSession();//获取session

  application = context.getApplication();//获取application

  request.put("req", "request属性");

  session.put("ses", "session属性");

  application.put("app", "application属性");

  ActionContext context ;//该方法还可以取得值栈(getValueStack()),使用push(obj)往值栈中放数据

  Map request ;

  Map session ;

  Map application ;

  //以下初始化方法要放在方法中

  context = ActionContext.getContext();

  request = (Map)context.get("request");//获取request

  session = context.getSession();//获取session

  application = context.getApplication();//获取application

  request.put("req", "request属性");

  session.put("ses", "session属性");

  application.put("app", "application属性");

  Xml代码

  <!--jsp中取值-->

  request属性接受:<s:property value="#request.req"/>${requestScope.req}

  session属性接受:<s:property value="#session.ses"/>${sessionScope.ses}

  application属性接受:<s:property value="#application.app"/>${applicationScope.app}

  <!--jsp中取值-->

  request属性接受:<s:property value="#request.req"/>${requestScope.req}

  session属性接受:<s:property value="#session.ses"/>${sessionScope.ses}

  application属性接受:<s:property value="#application.app"/>${applicationScope.app}

  2.1.2 IoC模式

  Java代码

  //实现接口

  public class LoginAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware

  Map request ;

  Map session ;

  Map application ;

  public void setRequest(Map request) {

  this.request = request;

  }

  public void setSession(Map session) {

  this.session = session;

  }

  public void setApplication(Map application) {

  this.application = application;

  }

  //实现接口

  public class LoginAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware

  Map request ;

  Map session ;

  Map application ;

  public void setRequest(Map request) {

  this.request = request;

  } public void setSession(Map session) { this.session = session; } public void setApplication(Map application) { this.application = application; } 2.2 与servlet有关

  2.2.1 非IoC模式

  Java代码

  HttpServletRequest request;

  HttpSession session ;

  ServletContext application;

  request = ServletActionContext.getRequest();//获取request

  session = request.getSession();

  application = ServletActionContext.getServletContext();//获取application

  request.setAttribute("req", "request属性111");

  session.setAttribute("ses", "session属性111");

  application.setAttribute("app", "application属性111");

  HttpServletRequest request;

  HttpSession session ;

  ServletContext application;

  request = ServletActionContext.getRequest();//获取request

  session = request.getSession();

  application = ServletActionContext.getServletContext();//获取application

  request.setAttribute("req", "request属性111");

  session.setAttribute("ses", "session属性111");

  application.setAttribute("app", "application属性111");

  2.2.1 IoC模式

  Java代码

  //实现接口

  public class LoginAction extends ActionSupport implements ServletRequestAware,ServletContextAware

  HttpServletRequest request;

  ServletContext application;

  public void setServletRequest(HttpServletRequest request) {

  this.request = request;

  }

  public void setServletContext(ServletContext application) {

  this.application = application;

  }
  • 大小: 5.3 KB
分享到:
评论

相关推荐

    struts2中的ActionContext与ognl

    ActionContext是Struts2框架中一个关键的组件,它提供了当前请求上下文的信息,而OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在模型和视图之间进行数据传递。下面将详细探讨这两个...

    ActionContext介绍(在Struts2中)

    象,如HttpServletRequest、HttpServletResponse,或者需要访问Session和Application等信息,在Struts2框架中,我们可以利用ActionContext和ServletActionContext这两个类。ActionContext是Struts2提供的一个核心上...

    Struts2通过使用ActionContext类获取request和response对象

    在Struts2中,ActionContext类扮演着重要的角色,它提供了与请求(Request)和响应(Response)对象交互的能力。了解如何通过ActionContext类获取和操作这些对象是开发Struts2应用的基础。 ActionContext类位于`org...

    Struts2 ActionContext 中的数据详解

    Struts2框架中的ActionContext是一个至关重要的组件,它是Action的上下文环境,负责在Action执行过程中存储和管理相关对象。ActionContext的设计确保了线程安全性,因为它为每个HTTP请求的线程创建了一个唯一的实例...

    基于struts2注册登录ActionContext.zip

    struts2大量使用拦截器来处理请求,从而允许与业务逻辑控制器 与 servlet-api分离,避免了侵入性(所谓侵入性就是指的这个架构设计出来的部件对系统的影响范围,标签库几乎可以完全替代JSTL的标签库,并且 struts2.x...

    struts2jar包

    Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...

    struts2 API帮助文档

    Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。这个API帮助文档是开发者在使用Struts2框架时的重要参考资料,它详细阐述了框架的各种组件、类库和方法,有助于理解并有效...

    Struts2的视频学习代码

    8. **Action上下文(ActionContext)**:ActionContext是Struts2中保存请求和会话数据的上下文对象,包含了请求参数、session数据等,可以用来在Action间共享数据。 9. **Struts2与Spring集成**:Struts2可以方便地...

    Struts2 Struts2 超好的Struts2 pdf 文档

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它在Web开发领域中被广泛使用。这个“超好的Struts2 pdf 文档”很可能包含了关于Struts2的全面介绍、核心概念、配置、拦截器、结果...

    struts2_OGNL表达式ActionContext及valuesStack

    本文将深入探讨Struts2中的OGNL表达式,ActionContext以及valuesStack。 首先,OGNL表达式是Struts2中不可或缺的一部分,它允许开发者以一种声明式的方式访问和修改对象的属性。比如,`myBean.getMyProperty()`这样...

    struts2 项目源码

    7. **ActionContext**:ActionContext是Struts2中一个重要的上下文对象,它保存了请求、会话、应用等范围内的属性。 8. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,用于在...

    马士兵Struts2笔记2013

    Struts2是一个流行的Java web框架,用于构建MVC(Model-View-Controller)架构的应用程序。以下是关于"马士兵Struts2笔记2013"中的关键知识点详解: 1. **建立Struts2工程** 创建一个Struts2工程通常涉及在集成...

    struts2 Https 配置

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展、模块化且易于管理的企业级应用程序。在当今网络安全日益重要的环境下,使用HTTPS协议来确保数据传输的安全性变得至关重要。Struts2支持HTTPS配置,可以...

    struts2OGNL表达式ActionContext及valuesStack.pdf

    总的来说,Struts2的OGNL表达式和ActionContext以及ValuesStack的设计使得数据访问更加灵活和高效。开发者可以方便地在控制器、视图和模型之间穿梭,进行复杂的表达式计算和对象属性操作,同时保持代码的简洁和...

    struts2从入门到精通总结(备忘)

    Struts2是一个强大的Java Web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。本总结将深入探讨Struts2的核心概念、配置、Action的创建、数据操作、值栈以及拦截器的使用,旨在帮助初学者快速上手并深入...

    struts2-core-2.0.11源码

    3. **Action上下文(Action Context)**:`org.apache.struts2.dispatcher`包下的`ActionContext`类存储了请求处理过程中的上下文信息,如值栈(Value Stack)、session、request、response等。 4. **值栈(Value ...

    struts2实现文件下载功能

    在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...

    struts2-core-2.0.12.jar

    Struts2-core-2.0.12.jar是Apache Struts框架的一个核心组件包,它在Java Web开发中扮演着至关重要的角色。Struts2是一个开源的MVC(Model-View-Controller)框架,用于构建高效、可扩展的Web应用程序。这个版本号...

    struts2入门例子

    5. **XWork2**:Struts2是在XWork框架的基础上发展起来的,XWork提供了Action管理和执行的核心机制,包括ActionContext、ValueStack等关键组件。 6. **运行流程**:当一个请求到达服务器,Struts2框架会解析`struts...

    struts2.3.24升级2.5.26.zip

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展、高效且易于管理的企业级应用程序。从2.3.24版本升级到2.5.26版本,这是一个重要的更新,涉及到许多改进、安全修复以及对新特性的支持。在进行这样的...

Global site tag (gtag.js) - Google Analytics