`
yuelangyc
  • 浏览: 454687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2中调用request方法

阅读更多
  Struts2跟servlet不一样.不能直接调用request
  但是有很多地方又需要用到request
  通过request可以操作很多东西.
  比如:
HttpSession session = request.getSession();
session.setAttribute("object", object);
request.setAttribute("object", object);
等等...
   既然不让直接调用,那就得想办法调用.
   每个Strut2文件都需要继承一个类:ActionSupport.想要调用request需要实现两个接口.所有有了以下解决方案
   1.自定义一个基础类.继承ActionSupport类并且时间ServletRequestAware, ServletResponseAware接口.
   2.在基础类中得到想要的东西.比如request,response或者session.

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;

import com.opensymphony.xwork2.ActionSupport;

public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware{

	private static final long serialVersionUID = 1L;
	public HttpServletRequest request;
	public HttpServletResponse response;
	@Override
	public void setServletResponse(HttpServletResponse response) {
		this.response=response;		
	}

	@Override
	public void setServletRequest(HttpServletRequest request) {
		this.request=request;		
	}

}


如果用到session的话,也可以取出session来.
   3.以后每个Struts2的java类继承这个BaseAction 类就可以同时使用了.

高手勿喷.

分享到:
评论

相关推荐

    struts2中获得request对象

    本文将详细讲解在Struts2中获取`request`对象的几种常见方法,以及它们的适用场景。 1. **Action上下文(ActionContext)** `ActionContext`是Struts2的核心组件之一,它封装了与当前请求相关的所有上下文信息,...

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

    在Action中,可以直接调用`ServletActionContext.getRequest()`、`ServletActionContext.getResponse()`、`ServletActionContext.getRequest().getSession()`等方法来获取这些对象。 #### 示例代码: ```java ...

    struts2中request和session的获取

    这种方法利用了Struts2中的ActionContext对象,它包含了当前执行环境的信息,可以通过它来获取request对象。 2. **使用`ServletActionContext`**: ```java HttpServletRequest request = ServletActionContext....

    struts2的API耦合与动态方法调用

    本文将重点讨论Struts2中的API耦合和动态方法调用,这两种特性对于理解框架的工作原理和提高代码的灵活性至关重要。 首先,我们来看看Struts2 API耦合的几种方式: 1. **ActionContext类**:ActionContext是Struts...

    Struts2 Request Process Procedure

    请求首先到达的是Struts2的过滤器Dispatcher,它通常是web应用部署描述符(web.xml)中的一个Filter。过滤器Dispatcher负责拦截所有请求,检查是否属于Struts2的请求。 3. **ActionContext初始化**: 在请求被...

    STRUTS2获得session和request

    ### STRUTS2中获取Session和Request的方法 在STRUTS2框架中,有多种方式可以访问`session`和`request`对象。下面我们将详细介绍其中的两种主要方法:实现接口法和使用ActionContext。 #### 实现接口法 STRUTS2...

    struts2 学习重点笔记

    - **原理**:Struts2 的拦截器会在 Action 执行完成后,调用 getter 方法并将结果存储到适当的范围对象中。 **3.4 请求转发与重定向** - **转发**:Action 的 execute 方法返回一个字符串,根据这个字符串找到对应...

    struts2标签使用方法

    在Struts2中,标签库是其核心特性之一,它提供了一系列预定义的JSP标签,用于简化视图层的编码,提高代码的可读性和可维护性。下面我们将详细探讨Struts2标签的使用方法以及EL(Expression Language)表达式。 1. *...

    Struts2在Action中获得Response对象的四种方法

    如果一个动作类实现了 ServletResponseAware 接口,Struts2 在调用 execute 方法之前,就会先调用 setServletResponse 方法,并将 response 参数传入这个方法。 方法 2:使用 RequestAware 拦截器 这种方法和第 1 ...

    struts2 源码分析

    ConfigurationProvider 是 Struts2 中配置文件的解析器,Struts2 中的配置文件主要是 XmlConfigurationProvider 及其子类 StrutsXmlConfigurationProvider 来解析。ConfigurationProvider 负责解析配置文件,并将...

    struts的request包装替换的思想

    在Struts框架中,请求(Request)扮演着至关重要的角色,因为它承载了客户端的所有请求信息。本篇文章将深入探讨“Struts的request包装替换的思想”,以及如何通过自定义Filter来实现这一过程。 在标准的Struts框架...

    struts2学习心得

    14. **对象比较与equals方法**:在Struts2中,比较两个对象是否相等通常通过调用`equals`方法来实现。正确重写`equals`方法对于保证业务逻辑的正确性至关重要。 通过以上对Struts2基本配置与关键概念的深入解析,...

    Struts2 2.3.34jar

    在Struts2中,Request与Response的处理通过.struts2-struts2-2.3.34.jar中的DispatcherServlet完成。DispatcherServlet作为前端控制器,接收HTTP请求,解析请求参数,调用对应的Action,然后根据Action的返回值决定...

    struts2面试题

    Struts2 的主要特点是使用 FilterDispatcher 作为核心控制器,将请求分发到相应的 Action 中。下面是 Struts2 面试题中涉及到的知识点: 1. Struts1 和 Struts2 的区别: Struts1 和 Struts2 是两个不同的框架,...

    struts2-core-2.0.11源码

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

    struts2中的ActionContext与ognl

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

    Struts2_OGNL

    OGNL(Object-Graph Navigation Language)是Struts2框架中的一个重要组件,用于在Web应用中访问和操作Java对象的属性,调用其方法,以及执行类型转换等操作。 OGNL是对象图导航语言的缩写,它是一种功能强大的...

    Struts2中Servlet的配置

    在Struts2中,Servlet的配置和使用方式与标准Servlet容器中的配置有所不同,主要是为了更好地整合框架的功能。以下是关于Struts2中Servlet配置的相关知识点: 1. **实现ServletResponseAware/ServletRequestAware...

    struts1和struts2的区别

    另外,按照惯例,在Struts1.x中只有“execute”方法能调用Action, 但在Struts2中并非必要,任何声明为public String methodName() 方法,都能通过配置来调用Action。 最后,和Struts1.x最大的革命性的不同是,...

    struts2简单案例

    - **Action类**:在Struts2中,Action类是处理用户请求的中心组件,它封装了业务逻辑,并通过调用Service层来处理实际的业务操作。 - **配置文件**:`struts.xml`是Struts2的主要配置文件,用于定义Action、结果...

Global site tag (gtag.js) - Google Analytics