




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
struts框架详细介绍,struts框架的组成部分,struts-config.xml Struts配置文件 ActionServlet 控制器 Action Class 包含事务逻辑 ActionForm 显示模块数据,struts框架的组成部分,ActionMapping 帮助控制器将请求映射到操作(struts-config.xml 配置信息被转换为一组 ActionMapping) ActionForward 用来指示操作转移的对象 ActionError 用来存储和回收错误 Struts标记库,struts框架的优势,良好的架构和设计 可重用,模块化,扩展性好 Open source,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 部分,它是这一框架的核心。 ActionServlet 创建并使用 Action、ActionForm 和 ActionForward。,ActionServlet的基本功能,截获用户的Http请求 把这个请求映射到相应的Action类。 创建一个ActionForm bean实例,将form请求放入formbean的实例中,ActionServlet的基本功能,调用Action实例的perform()方法 将ActioForm bean,Action Mapping对象,request和response对象传给Action的perform()方法 perform返回一个ActionForword对象,根据方法执行情况转到相应的jsp页面.,Action Classes,Action 类是业务逻辑的一个包装。Action 类的用途是将 HttpServletRequest 转换为业务逻辑。 注:扩展 Action 类时请注意简洁。Action 类应该控制应用程序的流程,而不应该控制应用程序的逻辑。通过将业务逻辑放在单独的包或 EJB 中,我们就可以提供更大的灵活性和可重用性。,ActionForm,ActionForm 维护 Web 应用程序的会话状态。 ActionForm 是一个抽象类,必须为每个输入表单模型创建该类的子类。,ActionForm的使用,假定有一个由 HTML 表单设置的 TestActionForm。Struts 框架将执行以下操作: 检查 TestActionForm是否存在;如果不存在,它将创建该类的一个实例。 Struts 将使用 HttpServletRequest 中相应的域设置 TestActionForm的。,ActionForm的使用,Struts 框架在将 TestActionForm传递给TestAction 之前将更新它的状态。 struts-config.xml 文件控制 HTML 表单请求与 ActionForm 之间的映射关系。 可将多个请求映射到 TestActionForm 。,ActionForm的使用,在将它传递给 Action 类之前,Struts 还会对 UserActionForm 调用 validation() 方法进行表单状态验证。注:这并不总是明智之举。别的网页或业务可能使用 UserActionForm,在这些地方,验证可能有所不同。在 UserAction 类中进行状态验证可能更好。 可在会话级维护 UserActionForm。 UserActionForm 可跨多页进行映射,以执行诸如向导之类的操作。,Struts标记库,Struts框架包括自定义标签库,它可以用 在很多方面。尽管这些库并不要求用框 架,但使用它们会有助于程序的开发。,Struts标记库,struts-bean 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翻译标记 消息国际化标记,Bean复制标记 (),可定义新bean,可复制现有bean,还可从现有bean复制属性。 定义新字符串常数 将现有的bean复制到新定义的bean对象 复制现有bean的属性来创建新的bean,标记属性:,Id 新定义的bean脚本变量名称,必须设置 Type 定义引入脚本变量的类 Value 为id属性定义的脚本变量分配一个新的对象,标记属性:,Name 目标bean的名称。若value属性没有设置,这个属性就必须设置 property Name属性定义的bean的属性名称,用来定义新的bean Scope 源bean的作用域。若没有设置,搜索范围是从页作用域到应用程序作用域 toScope 目标bean的作用域。若没有设置,默认值是页作用域,举例,定义一个bean: 源bean在页作用域中被拷贝到请求作用域中的另一个bean: ,脚本变量的标记,从多种资源中定义和生成脚本变量,这些资源包括cookie,请求参数,HTTP标头等等。,脚本变量的标记属性:,Id 脚本变量和要定义的页作用域 属性的名称 Name cookie/标头/参数的名称 Value 如果没有匹配的cookie或 数值,就返回这个属性指 定的默认值,脚本变量的标记属性:,multiple 如果这个属性设置了任意一个数值,所有匹配的cookie都会被积累并存储到一个Cookie(一个数组)类型的bean里 若无设置,指定cookie的第一个值将作为Cookie类型的值,举例, 脚本变量名称是myCookie,用来创建这个属性的cookie的名称是userName。 脚本变量名称是myHeader,请求标头的名称是Accept-Language.,举例, 脚本变量名称是myPatameter,它保存的请求参数的名称也是myParameter,逻辑标记,Struts逻辑标签库包含的标记能够有条件地产生输出文本 在对象集合中循环从而重复地产生输出文本,以及应用程序流程控制 它也提供了一组在JSP页中处理流程控制的标记 逻辑标记封装在文件名为struts-logic.tld的标记包中,逻辑标记库的功能,条件逻辑 重复 转发/重定向响应,条件逻辑标记,第一类可以比较下列实体与一个常数的大小 第二类在计算标记体之前判断特定的项目是否存在 第三类根据模板匹配的结果检查标记体的内容,第一类条件逻辑标记, 如果常数与被定义的实体相等,返回true 如果常数与被定义的实体不相等,返回true 如果常数大于等于被定义的实体,返回true,第一类条件逻辑标记, 如果常数小于等于被定义的实体,返回true 如果常数小于被定义的实体,返回true 如果常数大于被定义的实体,返回true,举例,判断名为“name“的请求参数的值是否是“SomeName“。 The entered name is SomeName ,举例,判断在页的作用域中是否有一个名为“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,现在要将他内部的字符串全都显示在浏览器里 ,转发标记,标记能够将响应转发给重定向到特定的全局ActionForward上 ActionForward的类型决定了是使用PageContext转发响应,还是使用sendRedirect将响应进行重定向 此标记只有一个“name“属性,用来指定全局ActionForward的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 6444-2025机械振动转子平衡第2部分:词汇
- 2025年现场水质仪器项目合作计划书
- 出借资金协议书范本
- 出国留学父母协议书范本
- 拆迁转户协议书范本
- 2025年合成材料用催化剂项目发展计划
- 退换货协议书范本
- 装修变更协议书范本
- 游戏合作合同协议书范本
- 心理健康课课件照片
- 东莞住宅工程质量通病防治手册
- 2025-2030年中国海洋大数据行业市场现状供需分析及投资评估规划分析研究报告
- 2025新人教版英语八上单词英译汉默写表(先鸟版)
- 药店借用资质协议书范本
- DB34T 4676-2024数字茶园建设指南
- 建筑项目主要劳动力配置计划
- 2025-2030中国孤独症及治疗市场规模与需求研究报告
- 地质调查员职业技能考试题(附答案)
- 儿童低钾血症的诊疗
- JJG(交通) 072-2024 燃烧法沥青含量测试仪
- 老年人护眼知识课件
评论
0/150
提交评论