struts2中获取作用域的2种方式,RequestAware

简介: struts2中获取作用域的2种方式,RequestAware

Servlet中有三大作用域:

request : 作用于一次请求,

session:作用于一个浏览器中,在浏览器不关闭的情况下多次响应都有效

servletContext(application):作用于一个web应用中,在整个程序中都有效,因其作用范围太大所以在开发中用的很少。


那么在struts2中如何获取这三个作用域呢?

有两种方式:

1. 使用ServletActionContext获取到3个作用域对象

//获取request对象
HttpServletRequest request = ServletActionContext.getRequest();
//获取session对象
HttpSession session = Request.getSession();
//获取ServletContext对象
HttpServletContext servletContext = session.getServletContext();

使用作用域对象:

request.setAttribute(“参数名”, 参数);

session.setAttribute(“参数名”, 参数);

2. 实现XxxAware接口 RequestAware SessionAware ApplicationAware

如要获取request对象,

第一步需要在Action类上获取 RequestAware 接口。

第二步要定义一个私有的Map属性,泛型定义为String,Object,属性名为request

例如:

private Map<String,Object> request;

getter && setter


第二步要实现 RequestAware接口的一个方法,


这个方法类似于request的set方法,但并不是。

  @Override
  public void setRequest(Map<String, Object> request) {
    // TODO Auto-generated method stub
    this.request = request;
  }

其他作用域的获取也是一样的,

session要实现SessionAware接口

application要实现ApplicationAware接口

目录
相关文章
|
Java
JSP四大作用域和九种隐式对象
JSP四大作用域和九种隐式对象
78 1
Struts2的几种传参方法
Struts2的几种传参方法
Struts2动态方法调用,和struts.xml的通配符方式调用
Struts2动态方法调用,和struts.xml的通配符方式调用
118 0
Struts2动态方法调用,和struts.xml的通配符方式调用
|
Java 容器
struts2初始化探索(一)
struts2初始化探索(一)
73 0
struts2初始化探索(一)
63 javabean的作用域范围
63 javabean的作用域范围
95 0
63 javabean的作用域范围
|
Java
struts2-01:作用域传值
方式一、使用ServletActionContext(耦合度高,不建议使用) public String login(){ ServletActionContext.getRequest().
1163 0
|
Java 数据安全/隐私保护 前端开发