Servlet2(2018-10-14 22:01)

Struts2内置对象

  • 没有实现或继承Action之类的方法
// 1.Action:表示为执行 action 配置中 class 指定的类,对应的 method 方法,
//   对应方法的返回值就是跳转

// 2.创建 ActionContext 
ActionContext actionContext = ActionContext.getContext();

// 2.1 使用 actionContext 获取页面所有属性 :ApplicationMap
Map<String,Object> applicationMap = actionContext.getApplication();
// 2.1.1 向 applicationMap 添加值:
applicationMap.put("applicationKey","applicationValue");
// 2.1.2 获取 applicationMap 中的值:
applicationMap.get("date");

// 2.2 使用 actionContext 获取 session 对象 sessionMap ,进行操作
Map<String,Object> sessionMap = actionContext.getSession();
// 2.2.1 向 sessionMap 添加值:
sessionMap.put("sessionKey","sessionValue");
// 2.2.2 设置 sessionMap 的值失效
(SessionMap)sessionMap.invalidate();

// 3.使用 actionContext 获取 reques对象内容
Map<String,Object> requestMap = (Map<String,Object>)actionContext.get("request");
// 3.1使用 requestMap 添加值
requestMap.put("requestKey","requestValue");
// 3.2 使用 actionContext 获取 Paramters map集合对象的值
Map<String,Object> paramters = actionContext.getParamters();
// 3.3 使用 paramters 获取指定键名的值,如:(但获取指定的键名的值都是对象集合)
String name = (String[])paramters.getParamters("name")[0];
// 3.4 可以向 paramters 中添加值,不报错,也没用
paramters.put("age",100);
  • 使用实现接口,注入对应对象
// 1.如实现  SessionAware ,ApplicationAware,RequestAware...
//  会重写,setSession , setApplication , setRequest 方法

//  session操作
private Map<String, Object> sessionMap;
@Override
public void setSession(Map<String, Object> sessionMap) {
   	this.sessionMap = sessionMap;
   }

// application操作
private Map<String, Object> applicationMap;
@Override
public void setApplication(Map<String, Object> applicationMap) {
   	this.applicationMap = applicationMap;
   }

// request操作
Map<String, Object> requestMap ;
@Override
public void setRequest(Map<String, Object> reruestMap) {
   	this.requestMap = requestMap;
   }

// 等等...
  • 获取使用 Request, Response 对象,如:
// 获取 Request 对象,其他操作一样
HttpServletRequest request = ServletActionContext.getRequest();
// 1.获取 session 对象,操作一样,等等...
HttpSession session = request.getSession();
// 2.获取 session 对象...
HttpSession session2 = ServletActionContext.getRequest.getSession();
....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值