Stust2的Servlet的API

在Struts2框架中,虽然Action与Servlet API默认未解耦合,但可以通过ActionContext、ServletActionContext静态方法或接口注入来访问Servlet对象,如Session、Request和Application。ActionContext提供对Servlet对象Map值的访问,ServletActionContext则提供HttpServletRequest、HttpServletResponse、ServletContext和PageContext的静态获取方法,而接口注入允许将Servlet实例注入到Action中。
摘要由CSDN通过智能技术生成

在Struts2中,Action并没有直接和ServletAPI进行解耦合,不能传递参数,也就是说在Strusts2下是不能直接访问Servlet的API的。但是我们在实际的实现业务逻辑时,要经常访问Servlet对象,如Session,request和application
在Seruts2中,访问Servlet API 有三种方法

通过ActionContext类访问 — 完全解耦合方式

actionContext类访问Servlet API 执行所需要的所有对象,包括parameters,request,session。application

方法声明 功能描述
void put(String key,Object value) 将key-value 键值对放入ActionContext 中,模拟Servlet API 中的HttpServlet Request的setAttribute()方法
Object get(String key ) 通过参数key来查找当前ActionContext中的值
Map<String , Object > 返回一个application 级的Map对象
static ActionContext getContext() 获取当前线程的ActionContext对象
Map<String,Object> getParameters() 返回一个包含所有HttpServletRequest参数信息的Map对象
Map<String,Object> getSession() 返回一个Map类型的HttpSession对象
void setApplication(Map<String,Object> application) 设置Application
void setSession (Map<String,Object> session ) 设置一个Map类型的Session值

如何使用举例

//接收数据
Action contex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值