`
yuelangyc
  • 浏览: 449254 次
  • 性别: 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 类就可以同时使用了.

高手勿喷.

分享到:
评论

相关推荐

    struts1和struts2的区别

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

    struts2流程与流程图

    一个请求在Struts 2框架中的处理大概分为以下几个步骤。...Struts 2的核心控制器是FilterDispatcher,有3个重要的方法:destroy()、doFilter()和Init(),可以在Struts 2的下载文件夹中找到源代码,如代码1所示。

    Struts2属性文件详解

    该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true.如果需要关闭动态方法调用,则可设置该属性为false. struts.enable.SlashesInActionNames 该属性设置Struts 2是否允许在Action名中使用斜线,该属性的...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    允许动态方法调用 struts.freemarker.manager.classname The org.apache.struts2.views.freemarker.FreemarkerManager implementation class org.apache.struts2.views.freemarker.FreemarkerManager接口名 ...

    Struts2\constant应用

    <!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 --> <constant name="struts.i18n.encoding" value="UTF-8" /> ...该属性指定Struts 2中的action由哪个容器创建

    一个struts的action跳转大全

    取得form实例以后,调用其 reset ()方法,然后将表单中的参数放入form,如果validate属性不为false,调用validate()方法;如果validate ()返回非空的ActionErrors,将会被转到input属性指定的URI,如果返回空的...

    STRUTS2类型转换错误导致OGNL表达式注入漏洞分析1

    1、 jsp中得request.getAttribute(“kxlzx”) 2、 struts标签库几乎所有标签,在获取标签value时,都会调用这个方法 3、

    Struts原理、开发及项目实施

    做相应数据库操作,略 */ } } FormBean的产生是为了提供数据给ActionBean,在ActionBean中可以取得FormBean中封装的数据,经相应的逻辑处理后,调用业务方法完成相应业务要求。...

    Struts_config.xml详解

    parameter="" //指定Actgion的配置参数,在Action类的execute()方法中,可以调用ActionMapping对象的getParameter()方法来读取该配置参数。(相当于初始化赋值) >>> prefix=""// 指定填充当前 Action 关联 FormBean...

    从J2SE到J2EE知识点介绍

    一. Java基础 5 ...5. 调用构造方法创建Bean 271 6. 指定Bean引用与自动装配 276 (二) AOP 278 1. AOP简介 278 (三) Spring 3.X 新特性(JavaConfig,SpEL)简介 285 1. JavaConfig 285 2. SpEL 287

    JAVA-SSH面试题

    如果需要,Struts2 Action仍然可以访问初始的Request和Response。 但是,其他的元素减少或者消除了直接访问HttpServletRequest和HttpServletResponse的必要性。 d、可测性 测试struts1.2 Action的一个主要问题是...

    SpringMVC面试专题.pdf

    12、怎么样在方法里面得到 Request,或者 Session? 13、我想在拦截的方法里面得到从前台传入的参数,怎么得到? 14、如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象? 15、...

    ssh(structs,spring,hibernate)框架中的上传下载

     此外lazy="true"说明地返回整个Tfile对象时,并不返回fileContent这个字段的数据,只有在显式调用tfile.getFileContent()方法时才真正从数据库中获取fileContent的数据。这是Hibernate3引入的新特性,对于包含重量...

    外文翻译 stus MVC

    For instance, the Struts framework will take fname from request stream and call UserActionForm.setFname(). • The Struts framework updates the state of the UserActionForm before passing it to the ...

    人脸识别研究综述

    类似java中的import语句prefix="s" 引用的名称在页面可以使用,就像java中生成的一个对象名,以后调用的时候直接使用就可以了uri="/struts-tags"%表示标签库的路径。相当于import一个具体的类~ 3、${pageContext....

    java面试题

    2:继承:子类继承父类,子类可以拥有父类中已定义的方法,并且子类可以修改父类中的方法使其更适合特殊需求。 3:多台:不同对象对统一消息作出不同响应称之为多态 4:抽象:忽略与当前主题无关的那些方面,将...

    拦截器和控制器的区别

    3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求后各调一次。 4、拦截器可以利用依赖注入,因此在spring框架程序中,优先拦截器 5、拦截器是包裹在过滤器中使用的。 复习 converter 转换器 ...

    Spring并发访问的线程安全性问题.docx

    springmvc的controller是singleton的(非线程安全的),这也许就是他和struts2的区别吧和Struts一样,Spring的Controller默认是Singleton的,这意味着每个request过来,系统都会用原有的instance去处理,这样导致了...

    XWork绕过安全限制执行任意命令漏洞补丁

    Struts2中WebWork框架使用XWork基于HTTP参数名执行操作和调用,将每个HTTP参数名处理为OGNL(对象图形导航语言)语句,而OGNL将: user.address.city=Bishkek&user['favoriteDrink']=kumys 转换为: action....

    java面试宝典

    34、是否可以从一个static 方法内部发出对非static 方法的调用? 11 35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点和原理。并考虑2 种回收机制。 11 38...

Global site tag (gtag.js) - Google Analytics