struts框架详细介绍[共45页]

上传人:哈**** 文档编号:136773185 上传时间:2020-07-02 格式:PPT 页数:45 大小:306.37KB
返回 下载 相关 举报
struts框架详细介绍[共45页]_第1页
第1页 / 共45页
struts框架详细介绍[共45页]_第2页
第2页 / 共45页
struts框架详细介绍[共45页]_第3页
第3页 / 共45页
struts框架详细介绍[共45页]_第4页
第4页 / 共45页
struts框架详细介绍[共45页]_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《struts框架详细介绍[共45页]》由会员分享,可在线阅读,更多相关《struts框架详细介绍[共45页](45页珍藏版)》请在金锄头文库上搜索。

1、struts框架详细介绍,struts框架的组成部分,struts-config.xml Struts配置文件 ActionServlet 控制器 Action Class 包含事务逻辑 ActionForm 显示模块数据,struts框架的组成部分,ActionMapping 帮助控制器将请求映射到操作(struts-config.xml 配置信息被转换为一组 ActionMapping) ActionForward 用来指示操作转移的对象 ActionError 用来存储和回收错误 Struts标记库,struts框架的优势,良好的架构和设计 可重用,模块化,扩展性好 Open sourc

2、e,Struts 概览图,struts-config.xml,Struts-config.xml集中了所有页面的导航定义。对于大型的WEB项目,通过此配置文件即可迅速把握其脉络,这不管是对于前期的开发,还是后期的维护或升级都是大有裨益的。掌握Struts-config.xml是掌握Struts的关键所在。,struts-config.xml(FormBean部分), ,struts-config.xml(全局转发部分), ,struts-config.xml(action部分), ,ActionServlet,ActionServlet 是struts框架 MVC 实现的 controller

3、 部分,它是这一框架的核心。 ActionServlet 创建并使用 Action、ActionForm 和 ActionForward。,ActionServlet的基本功能,截获用户的Http请求 把这个请求映射到相应的Action类。 创建一个ActionForm bean实例,将form请求放入formbean的实例中,ActionServlet的基本功能,调用Action实例的perform()方法 将ActioForm bean,Action Mapping对象,request和response对象传给Action的perform()方法 perform返回一个ActionForw

4、ord对象,根据方法执行情况转到相应的jsp页面.,Action Classes,Action 类是业务逻辑的一个包装。Action 类的用途是将 HttpServletRequest 转换为业务逻辑。 注:扩展 Action 类时请注意简洁。Action 类应该控制应用程序的流程,而不应该控制应用程序的逻辑。通过将业务逻辑放在单独的包或 EJB 中,我们就可以提供更大的灵活性和可重用性。,ActionForm,ActionForm 维护 Web 应用程序的会话状态。 ActionForm 是一个抽象类,必须为每个输入表单模型创建该类的子类。,ActionForm的使用,假定有一个由 HTML

5、 表单设置的 TestActionForm。Struts 框架将执行以下操作: 检查 TestActionForm是否存在;如果不存在,它将创建该类的一个实例。 Struts 将使用 HttpServletRequest 中相应的域设置 TestActionForm的。,ActionForm的使用,Struts 框架在将 TestActionForm传递给TestAction 之前将更新它的状态。 struts-config.xml 文件控制 HTML 表单请求与 ActionForm 之间的映射关系。 可将多个请求映射到 TestActionForm 。,ActionForm的使用,在将它传

6、递给 Action 类之前,Struts 还会对 UserActionForm 调用 validation() 方法进行表单状态验证。注:这并不总是明智之举。别的网页或业务可能使用 UserActionForm,在这些地方,验证可能有所不同。在 UserAction 类中进行状态验证可能更好。 可在会话级维护 UserActionForm。 UserActionForm 可跨多页进行映射,以执行诸如向导之类的操作。,Struts标记库,Struts框架包括自定义标签库,它可以用 在很多方面。尽管这些库并不要求用框 架,但使用它们会有助于程序的开发。,Struts标记库,struts-bean

7、taglib:包含在访问bean和bean属性时使用的tag,也包含一些消息显示的tag。 struts-html taglib:包含用来生成动态HTML用户界面和窗体的tag。 struts-logic taglib :包含的tag用来管理根据条件生成输出文本,和其它一些用来控制的信息。 struts-template taglib包含的tag用来定义模板机制。,Bean Taglib,用于定义新bean、访问bean及其属性的标记 在struts-bean.tld中定义了它的标记库描述器,Bean Taglib主要功能,创建和复制bean的标记 脚本变量定义标记 bean翻译标记 消息国际

8、化标记,Bean复制标记 (),可定义新bean,可复制现有bean,还可从现有bean复制属性。 定义新字符串常数 将现有的bean复制到新定义的bean对象 复制现有bean的属性来创建新的bean,标记属性:,Id 新定义的bean脚本变量名称,必须设置 Type 定义引入脚本变量的类 Value 为id属性定义的脚本变量分配一个新的对象,标记属性:,Name 目标bean的名称。若value属性没有设置,这个属性就必须设置 property Name属性定义的bean的属性名称,用来定义新的bean Scope 源bean的作用域。若没有设置,搜索范围是从页作用域到应用程序作用域 to

9、Scope 目标bean的作用域。若没有设置,默认值是页作用域,举例,定义一个bean: 源bean在页作用域中被拷贝到请求作用域中的另一个bean: ,脚本变量的标记,从多种资源中定义和生成脚本变量,这些资源包括cookie,请求参数,HTTP标头等等。,脚本变量的标记属性:,Id 脚本变量和要定义的页作用域 属性的名称 Name cookie/标头/参数的名称 Value 如果没有匹配的cookie或 数值,就返回这个属性指 定的默认值,脚本变量的标记属性:,multiple 如果这个属性设置了任意一个数值,所有匹配的cookie都会被积累并存储到一个Cookie(一个数组)类型的bean

10、里 若无设置,指定cookie的第一个值将作为Cookie类型的值,举例, 脚本变量名称是myCookie,用来创建这个属性的cookie的名称是userName。 脚本变量名称是myHeader,请求标头的名称是Accept-Language.,举例, 脚本变量名称是myPatameter,它保存的请求参数的名称也是myParameter,逻辑标记,Struts逻辑标签库包含的标记能够有条件地产生输出文本 在对象集合中循环从而重复地产生输出文本,以及应用程序流程控制 它也提供了一组在JSP页中处理流程控制的标记 逻辑标记封装在文件名为struts-logic.tld的标记包中,逻辑标记库的功

11、能,条件逻辑 重复 转发/重定向响应,条件逻辑标记,第一类可以比较下列实体与一个常数的大小 第二类在计算标记体之前判断特定的项目是否存在 第三类根据模板匹配的结果检查标记体的内容,第一类条件逻辑标记, 如果常数与被定义的实体相等,返回true 如果常数与被定义的实体不相等,返回true 如果常数大于等于被定义的实体,返回true,第一类条件逻辑标记, 如果常数小于等于被定义的实体,返回true 如果常数小于被定义的实体,返回true 如果常数大于被定义的实体,返回true,举例,判断名为name的请求参数的值是否是SomeName。 The entered name is SomeName ,

12、举例,判断在页的作用域中是否有一个名为bean的bean,它有一个prop属性,这个属性的值是否大于7。 如果这个属性能够转化为数值,就进行数值比较,否则就进行字符串比较。 The value of bean.Prop is greater than 7 ,第二类条件逻辑标记, ,第三类条件逻辑标记, ,重复标记,它能够根据特定集合中元素的数目对标记体的内容进行重复的检查 集合的类型 java.util.Iterator java.util.Collection java.util.Map java.util.List 数组,举例,Strlst是一个包含字符串的List,现在要将他内部的字符串

13、全都显示在浏览器里 ,转发标记,标记能够将响应转发给重定向到特定的全局ActionForward上 ActionForward的类型决定了是使用PageContext转发响应,还是使用sendRedirect将响应进行重定向 此标记只有一个name属性,用来指定全局ActionForward的名称,例如: ,重定向标记,标记是一个能够执行HTTP重定向的强大工具。 根据指定的不同属性,它能够通过不同的方式实现重定向。 它还允许开发人员指定重定向URL的查询参数。,HTML标记,Struts HTML标记可以大致地分为以下几个功能: 显示表单元素和输入控件 显示错误信息 显示其他HTML元素,模板标记,Struts模板标记可以大致地分为以下几个功能: 插入标记 放置标记 获得标记,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号