`
charles0731
  • 浏览: 21811 次
  • 性别: Icon_minigender_1
  • 来自: 山东省
文章分类
社区版块
存档分类
最新评论

在struts2中有两种方式可以得到这些对象

阅读更多
在struts2中有两种方式可以得到这些对象

    1、非IoC方式

    要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前Action的上下文对象。有了这个对象我们想获得其他几个对象就好办了


    ActionContext ctx = ActionContext.getContext();
    Map session = ctx.getSession();
    细心的朋友可以发现这里的session是个map对象在Struts2中底层的session都被封装成了Map类型我们可以直接操作这个map 进行对session的写入和读取操作而不用去直接操作HttpSession对象

    另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。

    HttpServletRequest request = ServletActionContext.getRequest();
    HttpServletResponse response = ServletActionContext.getResponse();
    HttpSession session = request.getSession();
    如果你只是想访问session的属性(Attribute),你也可以通过ActionContext.getContext().getSession()获取或添加session范围(Scoped)的对象。



    2、IoC方式(这种方式在tapestry中也是这样实现的)
    要使用IoC方式,我们首先要告诉IoC容器(Container)想取得某个对象的意愿,通过实现相应的接口做到这点。具体实现

    publicclass IoCServlet extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {
    private String message;
    private Map att;
    private HttpServletRequest request;
    private HttpServletResponse response;

    public String getMessage() {
    return message;
    }

    publicvoid setSession(Map att) {
    this.att = att;
    }

    publicvoid setServletRequest(HttpServletRequest request) {
    this.request = request;
    }

    publicvoid setServletResponse(HttpServletResponse response) {
    this.response = response;
    }

    @Override
    public String execute() {
    att.put("msg", "Hello World from Session!");

    HttpSession session = request.getSession();

    StringBuffer sb =new StringBuffer("Message from request: ");
    sb.append(request.getParameter("msg"));
    sb.append("
    Response Buffer Size: ");
    sb.append(response.getBufferSize());
    sb.append("
    Session ID: ");
    sb.append(session.getId());

    message = sb.toString();
    return SUCCESS;
    }
    }


    在struts.xml的action中配置拦截器
    <interceptor-ref name="servletConfig"></interceptor-ref>


文章转载自网管之家:http://www.bitscn.com/pdb/java/200805/141781.html
分享到:
评论

相关推荐

    struts2中request和session的获取

    本文将深入探讨Struts2中如何获取request和session,以及这两种对象的作用和应用场景。 ### Struts2框架简介 Struts2是基于Java Servlet API的一个开源MVC(Model-View-Controller)框架,它提供了强大的功能来...

    struts2和hibernate结合增删改查

    Struts2和Hibernate是两种非常重要的Java Web开发框架,它们在构建动态网站应用程序时起着核心作用。Struts2作为MVC(Model-View-Controller)框架,主要负责控制应用程序的流程,而Hibernate则是一个对象关系映射...

    struts2教程我在培训时用的

    - **配置方式**:Struts2支持XML和注解两种配置方式,而Struts1主要通过XML配置。 - **拦截器机制**:Struts2具有更加强大的拦截器机制,能够更好地控制业务流程。 - **类型转换与验证**:Struts2提供了更加强大...

    struts2 radio

    在Struts2中,`radio`标签是用于处理单选按钮的,它提供了一种优雅的方式来呈现和处理用户界面中的选择项。这篇博客文章可能是关于如何在Struts2框架中使用`radio`标签的深入讲解。 在Web开发中,单选按钮通常用于...

    struts 2 升级所需jar 包集合(升级到2.3.32)

    最近,Struts 2框架被曝光了两个高危漏洞:S2-045和S2-046,这两个漏洞对使用较旧版本Struts 2的系统构成了严重威胁。 S2-045漏洞,全称为"Struts 2 OGNL注入漏洞",主要源于Struts 2框架在处理OGNL表达式时的安全...

    struts2_hibernate

    Struts2和Hibernate是两种非常重要的Java Web开发框架,它们在构建高效、可维护的Web应用程序中发挥着关键作用。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于简化Java Servlets和JSP的...

    struts2jar包

    Struts2支持XML配置和注解配置两种方式。XML配置文件通常是`struts.xml`,在这里定义Action、Result以及Interceptor的配置。注解配置则可以直接在Action类或方法上添加注解,简化配置工作。 4. **模板技术** ...

    Hibernate+Struts的J2EE应用开发2

    本文将详细介绍这两种框架,并探讨如何利用它们来构建高效、低耦合性的J2EE应用。 #### 二、Hibernate简介及应用场景 Hibernate是一个开放源代码的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的...

    struts2.0包

    3. **配置方式**:Struts2支持XML和注解两种配置方式。XML配置文件(struts.xml)用于定义Action、结果类型、拦截器等,注解则可以直接在Action类上标注,简化了配置过程。 4. **Action与结果**:Action是业务逻辑...

    struts2学习笔记五(第5讲.Struts2的输入校验)

    Struts2支持两种主要的验证方式:基于XML的配置和基于注解的验证。基于XML的验证方式将验证规则定义在struts.xml或类似的配置文件中,而基于注解的验证则允许我们在Action类的方法参数上直接添加注解来定义验证规则...

    struts2_入门实例

    总结,Struts2提供了一种更灵活、更强大的Web应用开发方式,其配置更为简洁,Action类的设计更加面向对象,而且提供了丰富的插件和标签库,使得开发效率得到提升。通过这个入门实例,我们可以了解到Struts2的基本...

    STRUTS2获得session和request

    在STRUTS2框架中,有多种方式可以访问`session`和`request`对象。下面我们将详细介绍其中的两种主要方法:实现接口法和使用ActionContext。 #### 实现接口法 STRUTS2允许Action类通过实现特定的接口来访问`session...

    struts2笔记之校验表单信息

    在Struts2中,表单数据的校验是一个关键环节,用于确保用户提交的数据符合预期的格式和规则。本篇笔记将详细讲解Struts2中服务器端与客户端对表单数据的校验方式。 首先,Struts2提供了一系列内置的校验器,包括: ...

    struts 上传 和 smartupload上传

    在Struts 2中,文件上传功能得到了增强,支持了多文件上传和更灵活的配置。 1. **Struts 1.x 文件上传** - 使用`multipart/form-data`编码类型来创建表单。 - 在ActionForm中定义一个FormFile类型的属性,用于...

    日文struts学习ppt

    4. **创建ActionForm**:如果请求中有表单数据,则创建一个对应的ActionForm实例来封装这些数据。 5. **调用Action**:ActionServlet根据配置信息调用具体的Action对象,执行相应的业务逻辑。 6. **返回结果**:...

    struts2中的ongl表达式相关简介

    ### Struts2中的OGNL表达式相关简介 #### OGNL概述 OGNL(Object-Graph Navigation Language,对象图导航语言)是Struts 2框架的默认表达式语言,它极大地增强了Struts 2的数据访问能力和代码简洁性。OGNL不仅能够...

    Struts2和Struts1.x的全面比较

    Struts2和Struts1.x是两种非常流行的Java Web应用程序框架,它们都源自Apache软件基金会,主要用于构建MVC(Model-View-Controller)架构的Web应用。然而,随着时间的推移,Struts2逐渐取代了Struts1.x,因为其在...

    android接收json例子struts2Action返回json格式数据

    在Struts2框架中,Action类可以返回JSON响应。首先,需要在Action类上添加`@Result`注解,指定结果类型为JSON: ```java public class MyAction extends ActionSupport { @Override public String execute() ...

    基于struts和heiernate权限管理系统

    Struts和Hibernate是Java开发中两个非常重要的框架,它们在构建高效、可维护的企业级应用程序中发挥着关键作用。Struts是一种MVC(Model-View-Controller)框架,主要用于处理前端展示逻辑,而Hibernate则是一个ORM...

Global site tag (gtag.js) - Google Analytics