struts2 中的数据访问servletAPI
ActionContext包含其他数据对象,包括值栈 每次请求都会创建一个ActionContext对象
通过ActionContext访问数据
在action中读取 在jsp页面中读取
1.获得session域对象
2.获得application
Map<String,Object> applicationScope=ActionContext.getContext().getApplication()
3.获得request对象
Map<String,Object> requestScope=ActionContext.getContext().get("request"); struts2设计不推荐 request生命周期和ActionContext一样
推荐直接使用ActionContext.getContext().put("name","requestTom") 在页面中取 和request取方法仍然一样*(request 底层getAttribute扩大了范围)
ctionContext.getContext().put("name","requestTom")
存applicationScope.put("name","applicationTom")
sessionScipe.put("name","sessionTom")
在页面中取 取出结果
通过ServletActionContext
ServletActionContext.getRequest() 获取原生request HttpServletRequest类型 也是从ActionContext中获取 源码如下
ServletActionContext.getResponse()
ServletActionContext.getServletContext()
session
通过实现接口方式
strut2获得参数方式
servlet不能使用成员变量接收参数 线程不安全
每次请求action时都会创建新的action实例对象
1 获得方式:属性驱动获得参数:action中准备与参数键 名称相同的属性获得 需要设置get set属性
2 获得方式:对象驱动,input中提交格式 接受对象.接受属性
action中准备接受对象,设置set get属性
前台 后台
3获得方式 模型驱动
1.实现接口 2准备成员变量 3接口实现方法 返回成员变量