全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STRUTS2获得作用域、参数、响应对象简单说明在struts1中,获得到系统的request或者session对象非常方便,都是按照形参传递的,但是在struts2中,request和session等都被隐藏了 主要使用的类:RequestMap,SessionMap,ApplicationMap, AttributeMap(可以获得所有作用域值), 接口:requestAware,ServletRequestAware,SessionAware,ApplicationAware分别实现不同的接口就可以得到上边相应类的对象,需要强转,还有ServletResponseAware接口获得响应对象,ParameterAware获得所有请求参数 struts提供两种方式访问session和request,其中比较常用的是利用SPRING里面所说的IOC即控制反转 IOC方式: action类实现ServletRequestAware接口,并新建一个HttpServletRequest request public class UserLoginAction extends ActionSupport implements ServletRequestAware public void setServletRequest(HttpServletRequest request) this.request=request; 然后可以生成的request得到对象,如request.getRemoteAddr() action类实现SessionAware接口,并创建一个MAP对象session public class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware public void setServletRequest(HttpServletRequest request) this.request=request; public void setSession(Map session) this.session=session; 非IOC方式 非Ioc方式 这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。 获得request对象: A HttpServletRequest request = ServletActionContext.getRequest (); BActionContext ct= ActionContext.getContext() HttpServletRequest request= (HttpServletRequest)ct.get(ServletActionContext. HTTP_REQUEST ); C. ActionContext.getContext().put(HTTP_REQUEST, request); or ActionContext context = ActionContext.getContext(); HttpServletRequest request = (HttpServletRequest)context.get(StrutsStatics.HTTP_REQUEST); 获得session对象: 在Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。 AMap session=ActionContext.getSession(); BMap session=(Map)ActionContext.getContext().get(ActionContext.SESSION); C可以先获得请求,然后通过请求获得HttpSession 得到这个SessionMap之后我们就可以对session进行读写了,如果我们想得到原始的HttpSession可以首先得到HttpServletRequest对象,然后通过request.getSession()来取得原始的HttpSession对象。一般情况下SessionMap已经可以完成所有的工作,我们不必再去碰底层的session了。 注销: if (session instanceof org.apache.struts2.dispatcher.SessionMap) try (org.apache.struts2.dispatcher.SessionMap) session).invalidate(); catch (IllegalStateException e) logger.error(msg, e); 获得响应方式: A 通过Ioc方式,实现ServletResponseAware接口 B ServletActionContext.getResponse(); C (HttpServletResponse)ServletActionContext.get(ServletActionContext.HTTP_RESPONSE) 使用常量Key进行获取可以得到所有作用域对象及parameter,response对象。利用的就是Serv letActionServlet实现的接口:StrutsStatics和父类ActionContext中的常量key. 获得请求参数: A. 通过Ioc方式:实ParameterAware接口。 Action中:private Map map /重写接口方法 Public void setParameters(Map parameters) This.map= parameters; B. Map parameters = ActionContext.getContext().getParameters(); C. ActionContext.getContext().get(ActionContext. pARAMETERS); 获得application a. 通过Ioc方式:实ApplicationAware接口。 Action中:private ApplicationMap map /重写接口方法 Public void setApplication(Map application) This.map= application; b.ActionContext.ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重庆工信职业学院单招职业适应性测试模拟测试卷附答案
- 2026年淮南联合大学单招综合素质考试题库及参考答案详解一套
- 2026年濮阳石油化工职业技术学院单招职业技能测试模拟测试卷附答案
- 2026年邵阳职业技术学院单招(计算机)测试模拟题库附答案
- 2026年绍兴文理学院单招职业倾向性考试模拟测试卷附答案
- 2025年衢江区第二期机关、事业单位公开选调工作人员14人考试参考题库附答案解析
- 2026年贵州文化旅游职业学院单招(计算机)考试备考题库必考题
- 2026年重庆三峡学院单招职业适应性测试题库附答案
- 电子商务团队沟通与协作技巧
- 2026年甘肃林业职业技术学院单招职业倾向性测试题库带答案详解
- 《中小学校校长办公会议(校务会议)议事规则(参考文本)》
- 物业客服管家试题及答案
- 个人房屋装修合同模板
- 纽恩泰空气能知识培训课件
- 智能陪伴机器人改善老年人孤独感的可行性研究报告
- 2025能源管理体系要求及实施指南(整合版-2025)
- 国际贸易基础复习资料
- 牧场生物安全培训方案课件
- 2025年高考真题分类汇编选择性必修二 《法律与生活》(全国)(解析版)
- 2025年儿科副主任年度考核个人总结
- 部编版《道德与法治》一年级上册上册第9课《作息有规律》精美课件
评论
0/150
提交评论