-------B/S应用中的Controller必须访问Web资源
1.和Servlet API 解耦方式
(只能访问其有限的方法,如:读取参数,读写请求参数,使session失效)
Struts2对HttpServletRequest,HttpSession,ServletContext进行了封装
构造了3个Map对象来替代这三个对象,在Action类中可以直接使用
1.和Servlet API 解耦方式
(只能访问其有限的方法,如:读取参数,读写请求参数,使session失效)
Struts2对HttpServletRequest,HttpSession,ServletContext进行了封装
构造了3个Map对象来替代这三个对象,在Action类中可以直接使用
(1)使用ActionContext
package com.struts2.action;
import java.util.Map;
import org.apache.struts2.dispatcher.SessionMap;
import com.opensymphony.xwork2.ActionContext;
public class TestActionContextAction {
public String execute(){
// 获取ActionContext对象
ActionContext actionContext = ActionContext.getContext();
// 获取application对应的Map,并添加属性
Map<String,Object> applicationMap = actionContext.getApplication();
//设置属性
applicationMap.put("applicationKey","applicationValue");
//获取属性
Object date = applicationMap.get("date");
System.out.println("date"+date);
//获取session
Map<String,Obj