天天看点

Struts2中使用ValueStack、ActionContext、ServletContext、request、session的方法

变量 从ActionContext中获得 生命周期 用Ongl来读取值 使用ServletConfigInterceptor来注入
ActionContext类 静态方法ActionContext. getContext() 一次Http请求 使用“#”加上key,如“#name” 无法注入
ValueStack类 ActionContext. getValueStack() 直接填写来访问栈中对象的方法,或者使用top来直接获得栈中对象
HttpServletRequest类 ActionContext. get( StrutsStatics. HTTP_REQUEST) 无方便的方法 实现ServletRequestAware接口
request的Map ActionContext. get("request") 使用“#request”再加上key,如“#request.name”或者“#request['name']” 实现RequestAware接口
parameters的Map ActionContext. get( "parameters") 使用“# parameters”再加上key,如“#parameters .name”或者“#parameters ['name']” 实现ParameterAware接口
HttpServletSession类 无(需通过HttpServletRequest来获得) 一次Http Session会话
session的Map ActionContext. get("session") 每次请求创建,但在一次Http Session会话中数据都是一样的 使用“#session”再加上key,如“# session.name”或者“#session ['name']” 实现SessionAware接口
ServletContext类 ActionContext. get( StrutsStatics. SERVLET_CONTEXT) 网站项目启动后一直存在且唯一 使用ServletContextAware接口
application的Map ActionContext.get( "application") 每次请求时创建,但其中的数据是网站项目启动后一直存在且共享 使用“# application”再加上key,如“#application .name”或者“#application ['name']” 使用ApplicationAware接口

继续阅读