Action获取Web元素.ppt

上传人:小飞机 文档编号:6501257 上传时间:2023-11-07 格式:PPT 页数:29 大小:703KB
返回 下载 相关 举报
Action获取Web元素.ppt_第1页
第1页 / 共29页
Action获取Web元素.ppt_第2页
第2页 / 共29页
Action获取Web元素.ppt_第3页
第3页 / 共29页
Action获取Web元素.ppt_第4页
第4页 / 共29页
Action获取Web元素.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Action获取Web元素.ppt》由会员分享,可在线阅读,更多相关《Action获取Web元素.ppt(29页珍藏版)》请在三一办公上搜索。

1、第5讲:Action获取Web元素,通过ActionContext获取通过ServletActionContext获取框架注入,温故,要点回顾获取Web请求参数的方法简单类型属性自动填充复杂类型属性自动填充,即属性驱动基于模型驱动的请求参数获取,作业中注意的问题:表单中的文本框名称一定要与定义的javaBean属性相对应第二种方法和第三种方法的不同之处:视图中文本框的书写方式Action类的声明方式第二种方法只声明数据模型引用变量,有setter/getter方法;而第三种方法除了声明变量外还要用new运算符创建此对象,无setter/getter方法,但实现了getModel方法。,本讲要点

2、与教学目标,【教学要点】1、依赖于容器的Map类型Web元素获取2、依赖于容器的真实类型Web元素获取3、依赖注入的Map类型Web元素获取【教学目标】了解request、session、application等Web元素的获取方法,掌握和理解Struts2框架注入的方式获取Web元素的方法。,Action中获取Web元素的方法,1.依赖于容器(ActionContext)获取Map类型的Web元素2.依赖于容器(ServletActionContext)获取真实类型的Web元素3.依赖于Struts2框架注入(IoC-控制反转)获取Map类型的Web元素(只用这种方法)4.依赖于Struts

3、2框架注入(IoC-控制反转)获取真实类型的Web元素(不讲,自学),Action对Web请求的处理中,仅获取Web请求参数是不够的,还需要获取request、session、application等Web元素的信息。Struts2框架中获取Web元素的方法有四种:,通过ActionContext获取Map类型Web元素,【ActionConext】是Action执行的上下文,提供一系列相关方法用于访问保存在HttpRequest、HttpSession、ServletContext中的信息,并将其存储在Map中。【ActionConext对象获取】通过ActionConext类的静态方法ge

4、tContext()【ActionConext常用方法】public Object get(String key):获取ActionConext中指定键名的元素对象public Map getSession():获取session元素对象public Map getApplication():获取application元素对象【Map常用方法】public void put(String key,Object value):向Map对象中添加一个具有键名标识的元素public Object get(Object key):从Map对象中获取指定的元素,通过ActionContext获取Map类

5、型Web元素,【在Action中获取Web元素的方法】1.获取ActionContext对象 ActionContext ac=ActionContext.getContext();2.通过ActionContext对象获取Map类型的Web元素 Map s=ac.getSession();或:Map s=(Map)ac.get(session);3.使用Map对象的put/get方法添加/获取属性 s.put(username,lucky);【JSP中获取Web元素属性方法】1.通过JSP脚本元素 2.通过Struts2框架标签和OGNL表达式,案例1:通过ActionContext获取We

6、b元素,【基本思路】采用模型驱动的方式获取用户登录信息【基本步骤】1.创建视图:用户登录页login1.jsp;2.模型创建:创建数据模型User.java;创建ActionLoginAction1.java3.创建视图:登录成功页success1.jsp配置,【案例说明】以“用户登录”业务为例,在登录Action中获取Map类型的request、session、application元素,并对其属性进行设置,在JSP视图中输出各元素的属性值。,案例1:通过ActionContext获取Web元素,【用户登录页】,案例1:通过ActionContext获取Web元素,【数据模型User.jav

7、a】,public class Userprivate String username;private String password;/此处省略getter和setter方法,案例1:通过ActionContext获取Web元素,【LoginAction1.java】,案例1:通过ActionContext获取Web元素,案例1:通过ActionContext获取Web元素,【success1.jsp】,案例1:通过ActionContext获取Web元素,【success1.jsp】,案例1:通过ActionContext获取Web元素,【struts.xml配置】,/success1.j

8、sp/login1.jsp,案例1:通过ActionContext获取Web元素,【简单总结】(1)在Action中声明Map类型变量(2)通过ActionContext对象获取指定Web元素(3)通过put()方法为Web元素添加属性,通过get()方法获取Web元素的属性值(4)在JSP中通过Struts2标签获取属性值,格式:,通过ServletActionContext获取Web元素,【问题】通过ActionContext获取的Web元素是Map形式的,这对于习惯了Servlet编程的开发人员可能不太习惯【解决方法】Struts2框架中可以通过ServletActionContext类

9、 获取 ServletAPI对象【ServletActionContext的常用方法】public static HttpServletRequest getRequest():获取请求对象 public static ServletContext getServletContext():获取应用程序对象【思考】如何获取HttpSession的方法?,案例2:真实类型Web元素的获取,【基本思路】1、在Action中使用真实类型的Web元素,即通过ServletActionContext获取HttpServletRequest、HttpSession、ServletContext类型的Web元

10、素。2、在视图中输出Web元素属性的方法不变。【说明】本案例课件中仅给出Action的定义,其它参考案例1,案例2:真实类型Web元素的获取,【LoginAction2.java】,Session、request、application为真实类型对象,案例2:真实类型Web元素的获取,【LoginAction2.java】,案例2:真实类型Web元素的获取,【LoginAction2.java】【说明】此种方式将Action组件与Servlet容器紧密耦合,不利于整个框架的设计,不推荐使用。,依赖于框架注入获取Map类型Web元素,【相关概念】DI:Dependency Injection依赖

11、注入 IoC:Inversion of Control控制反转 两个概念表达相同的思想,即:当我们想得到某个对象时,不需要我们主动创建这个对象,或主动去获取这个对象,而是等待系统把这个对象自动交给我们,我们只是被动接受。我们需要的对象我们不去主动创建,而让系统自动填充的,叫依赖注入;本来是我们控制去获取这个对象,结果控制权交给了系统,我们被动接受,叫控制反转。,依赖于框架注入获取Map类型Web元素,【依赖注入的相关接口】Action中通过实现相关接口,Web元素即可由框架自动注入,这组接口以Aware(知道,明白)结尾 RequestAware:Map类型的request元素 Servlet

12、RequestAware:HttpServletRequest类型 ServletResponseAware:HttpServletResponse类型 SessionAware:Map类型的session元素 ApplicationAware:Map类型的application元素 CookiesAware:Map类型的Cookie元素,依赖于框架注入获取Map类型Web元素,【依赖注入的Web元素获取方法】1.创建Action时实现Web元素相关接口 2.在Action中声明Map类型的私有变量 3.在Aware接口的实现方法中为变量赋值,案例3:依赖注入的Map类型Web元素获取,【基本

13、思路】1、创建Action实现RequestAware、SessionAware、ApplicationAware三个接口,声明三个Map类型的私有变量,三个接口的实现方法分别对三个变量赋值,从页获取Web元素。2、在视图中输出Web元素属性的方法不变。【说明】本案例课件中仅给出Action的定义,其它参考案例1,案例3:依赖注入的Map类型Web元素获取,【LoginAction3.java】,注意下面的三个方法,案例3:依赖注入的Map类型Web元素获取,【LoginAction3.java】,小结,获取Web元素的方法依赖于ActionContext容器的Map类型Web元素的获取依赖于ServletActionContext容器的ServletAPI元素获取依赖于框架注入的Map类型Web元素的获取在JSP网页中使用Web元素JSP脚本元素Struts2标签和OGNL表达式,作业,上机调试本讲案例3,掌握依赖注入的Web元素获取与使用方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号