数据处理和数据服务.ppt

上传人:小飞机 文档编号:6296323 上传时间:2023-10-14 格式:PPT 页数:26 大小:212.50KB
返回 下载 相关 举报
数据处理和数据服务.ppt_第1页
第1页 / 共26页
数据处理和数据服务.ppt_第2页
第2页 / 共26页
数据处理和数据服务.ppt_第3页
第3页 / 共26页
数据处理和数据服务.ppt_第4页
第4页 / 共26页
数据处理和数据服务.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《数据处理和数据服务.ppt》由会员分享,可在线阅读,更多相关《数据处理和数据服务.ppt(26页珍藏版)》请在三一办公上搜索。

1、第17章 数据处理和数据服务,从本章开始学习如何在Flex应用中操纵数据。Flex 2在先前的版本基础上加强了客户端的数据功能,同时在Flex的产品线中加入了Flex Data Service 2,使Flex应用更方便的与服务器端进行数据交互。本章主要介绍Flex中数据的相关特性,简要的介绍Flex数据服务。,17.1 Flex中的数据处理,在Flex应用开发过程中,数据是不可缺少的一部分。获取服务器端数据,并对数据进行操作,成为开发应用过程非常重要的部分。本节主要介绍Flex中数据处理的关键步骤,包含绑定数据(Binding Data)、存储数据(Storing Data)、验证数据(Val

2、idating Data)和格式化数据(Formatting Data)。数据在用户与应用交互中是无处不在的。从用户在应用界面输入数据,请求返回信息,到服务器端返回数据并在见面上显示数据,经历了数个数据处理阶段,如图所示。,17.2 绑定数据,“绑定”是非常形象的概念。例如把网上银行帐户和你的信用卡帐户绑定,网上购物消费后,信用卡帐号的余额也会发生改变。而对于数据,绑定是在不同的对象之间进行数据的捆绑过程,当其中一个对象改变了,另一个对象也发生改变。绑定为应用的数据传递提供了一种便捷的方式。这里的对象通常指Flex组件的属性,例如文本控件的text属性,数据类组件的dataProvider属性

3、等。通常,一个数据绑定由三部分构成,包括绑定源、绑定目标和触发事件。当事件被触发后,绑定发生,完成从绑定源到绑定目标的数据拷贝。Flex 2中提供了三种数据绑定的方法:“”语法、MXML的标签和ActionScript中的BindingUtils方法。下面分别介绍这3种方法。,17.2.1 使用“”进行数据绑定,在使用“”进行绑定时,绑定源可以是控件属性、ActionScript表达式、ActionScript函数。使用“”语法进行数据绑定是最简单的数据绑定方式。使用该方法时,将绑定的源属性括起来,作为目标属性的值,具体形式如下。目标属性的值=源属性;,17.2.2 使用标签进行数据绑定,在F

4、lex应用中,还可以使用标签取代“”进行数据绑定。当使用标签时,需要提供为标签提供源属性和目标属性,这和使用“”是一致的。标签定义数据绑定的一般格式如下:,17.2.3 使用ActionScript定义绑定,前面使用“”或者标签定义数据绑定,都是在MXML中进行。Flex还支持在ActionScript中使用类来定义数据绑定。该类的bindProperty()用来将属性绑定到变量上。bindSetter()方法可以定制的方式实现绑定。1使用bindProperty()方法2bindSetter()方法,17.2.4 多个源属性到目标属性的绑定,标签可以实现多个不同的源属性到相同的目标属性的绑定

5、。这是通过多个具有相同目的属性的绑定标签来完成的。但也可以与“”组合定义使用。下面的例子使用用多个源属性的绑定,一个采用标签,一个采用“”,如图所示。,17.2.5 源属性到多个目标属性的绑定,同样,同一个源属性可以绑定到多个不同的目标属性上。在接下来的这个例子中,文本输入控件的text属性绑定到两个数据模型上,这两个数据模型有分别对应两个标签控件的text属性,如图所示。,17.3 存储数据,Flex中存储数据主要依靠数据模型来实现。可以根据应用的需要,在数据模型中定义相应的属性用来保存应用数据。数据模型广泛的用于Flex前台界面和后台服务器之间交互。用户界面的数据在发送到服务器端处理之前,

6、被保存在数据模型中。同样,数据模型也可以保存来自服务器处理完成的数据。从MVC设计模式的角度来看,数据模型位于模型层面,起到承上启下的作用。数据模型模型的引入,使得数据的验证和格式化都变得容易。同时数据模型的定义可以包含客户端的业务逻辑,通过不同数据的组合,大大增强了数据的内聚性。本节主要介绍数据模型的定义、验证和使用。,17.3.1 数据模型定义,数据模型是ActionScript对象。数据模型的定义有两种方法:MXML标签、ActionScript函数或者ActionScript类。通常是根据实际情况,决定使用哪种方法。对于简单的数据结构使用MXML来定义,而ActionScript函数或

7、者ActionScript类方法一般用来定义复杂的数据结构和客户端业务逻辑。1.使用MXML标签2.使用ActionScript函数和ActionScript类,17.3.2 数据模型的验证,数据模型的验证是对数据模型中保存的数据的正确性进行检验。在Flex中,数据模型的验证使用数据验证器(Data Validator)。在下面的例子中,对student数据模型中不同的数据定义了不同的验证器,,17.3.3 数据模型作为值对象,数据模型作为值对象,是指将数据模型中保存的数据值,以对象的方式,在控件之间传递。通常用在远程服务调用返回时,将结果中一系列数据或者多个对象数据保存在某个数据模型中。该模

8、型作为值对象在远程服务和数据控件之间传递数据。这样会使得在Flex应用中管理和处理数据变得简单。在下面的例子中,bookDM存储了远程服务操作的结果。bookInfo组件是一个自定义组件,从bookDM模型获取数据并显示当前选择图书的详细信息。,17.3.4 XML数据模型,XML数据模型是指数据模型中保存的是XML数据,对其处理遵循XML标准。在使用数据模型时,有时会涉及XML数据。为此Flex专门提供了了标签,用于定义XML数据模型。该数据模型在与不同之处,主要在于编译时会被编译为ActionScript的xml.XMLNode的数据或者是XML对象。在中可以使用“”进行数据绑定。使用时,

9、可以把该标签下的内容看作一个XML文档。如果将的source属性设为E4X,就可以使用强大的E4X处理XML。这里需要注意的是,在当前Flex版本不能内的节点值作为绑定源。,17.4 验证数据,数据验证是Flex中的数据进行正确性验证。数据的正确性涉及数据的格式、类型、数值等。本节主要介绍Flex数据验证机制,主要包括:数据验证器的创建、数据验证的触发、错误提示和预定义标准验证器。,17.4.1 使用标准数据验证器,在Flex中,为了更加方便的进行数据验证。对于常用数据,提供了的预定义数据验证器,主要包括以下几类。CurrencyValidator:货币数据验证。CreditCardValid

10、ator:信用卡数据验证。DateValidator:日期数据验证。NumberValidator:数字验证。PhoneNumberValidator:电话号码验证。EmailValidator:邮箱地址验证。ZipCodeValidator:邮政区号验证。,17.4.2 创建数据验证器,Flex中数据验证是由验证器(Validator)来执行的。验证器的创建使用标签或者指定验证器的标签,还可以使用验证器对应的类在ActionScript中创建。下面以为介绍创建过程。1使用MXML标签2在ActionScript中创建,17.4.3 触发验证器,在Flex应用中,数据验证是可以被在事件发生时触

11、发。这样,用户可以在需要验证时,随时触发验证。最常用的触发方式是使用按钮。当单击某个按钮后,对数据进行验证。在验证器定义过程中,可以通过以下两个属性定义验证的触发:trigger:表示触发验证的对象(通常是按钮)。例如:trigger=button;。triggerEvent:表示对象触发验证事件类型(如鼠标单击,鼠标滑入滑出等)。例如:triggerEvent=click。,17.4.4 验证错误提示,验证错误提示是当数据验证发生错误时,用户界面上显示的与错误有关的信息。如前面示例中,日期格式不正确的显示的错误提示。验证控件在默认情况下已经显示默认的提示错误,但提示的语言使用的都是英文。为了

12、从更加贴合应用的实际,可以使用不同的属性定义提示信息。在下面的例子中,对电话号码的验证器,定义了不同的提示信息。用户单击验证按钮,触发对输入电话号码的验证。在不同错误下,验证提示信息如图所示。,17.5 格式化数据,格式化数据是对数据进行的处理,按照某种约定的格式以统一的形式输出。在Flex中数据的格式化是由格式器(formatter)完成的。格式器是一个可配置的对象,用来将原始数据格式化为定制数据。通常数据的格式是从显示的角度对绑定到组件上的数据进行的,主要是减少人工处理的工作量,提高数据操作的效率。本节主要讲述如何使用数据格式器,包括格式器的创建、触发、错误的处理和常用的格式器。,17.5

13、.1 使用标准的格式器,在Flex中,为了更加方便的进行数据格式化。对于常用数据,提供了的标准的数据格式器,主要包括以下几类。CurrencyFormatter:货币数据格式化。DateFormatter:日期数据格式化。NumberFormatter:数字格式化。PhoneFormatter:电话号码格式化。ZipCodeFormatter:邮政区号格式化。在Flex应用中如果需要对上述数据进行格式化,只需使用相应的MXML标签或者ActionScript类即可。每类格式器的使用方法类似,这里只介绍通用格式化器的使用方法。,17.5.2 创建数据格式器,数据格式器将数据格式为字符串,实现原始

14、数据到字符串的单向转换。最典型的情况是在文本域中显示数据之前触发数据的格式化。创建格式器,使用的MXML标签是或者指定格式化器的标签。主要涉及如下的属性和方法:formatString:定义数据的格式属性。它是格式化的基础。例如:formatString=YYYY-MM-DD,是将输入的日期格式为年-月-日这样的格式。format():格式化方法。该方法输入是需要格式化的数据,输出是格式字符串。当格式化发生错误时,返回空值,同时错误信息会写入格式器的error属性中。创建格式器的一般过程如下:(1)在MXML代码中声明一个格式器,给定合适的格式属性。(2)使用对绑定数据调用格式器的format

15、()方法,将要格式化的数据作为format()方法的参数。,17.5.3 触发格式器,格式器的触发需要调用格式器的format()方法。在Flex应用中可以在任何地方调用format()方法。通常格式器的触发是作为事件的响应,如按钮的单击事件。下面是一个通过按钮事件触发格式器的例子。创建了一个日期格式器。当用户单击格式化按钮时,作为鼠标单击事件的响应,格式器触发,对输入的日期格式化并将格式数据显示到TextInput控件,如图所示。,17.5.4 错误处理,在格式化数据的过程可能会发生错误,错误处理是用来将错误信息返回给调用者。错误处理涉及到格式器的error属性。当发生格式错误时,错误描述信

16、息写入格式器的error属性当中。通常,当发生格式错误时format()方法会返回空字符串,同时错误信息也会被记录。所以当检测到返回字符串为空时,可以访问error属性获得错误原因。另外,用户也可以使用ActionScript,编写自定义的错误处理函数来处理格式化错误。下面的例子中定义了一个简单的错误处理函数。,17.6 Flex数据服务,Flex 2系列产品对开发者创建和管理面向服务的丰富因特网应用程序(RIAs)的方式做了几个重要改进。其中数据服务从原有的功能中划分出来,可以作为独立的服务安装。特别是数据服务中的新的性能,使得与服务器端的交互比以前任何版本都显得方便。本节将简要介绍Flex

17、数据服务,详细的内容在后面的章节重点介绍。,17.6.1 数据服务概述,在Flex 2中数据服务指的是Flex Data Services 2。它与早期的Flex数据管理相比,向前跨了重大的一步,它提供一组基于信息的服务,具有支持同步数据的能力。这显著的提升了开发者的生产率,不用花时间去编写、调试和维护,往往容易出错,并要求在客户端、程序和数据库不同层间移动数据的代码上。Flex数据服务具有以下特点。Flex数据服务提供一系列强大的服务器端数据管理功能,使开发人员能够快速数据密集型Flex应用程序。Flex数据服务部署为标准Web J2EE 应用程序,通过为现有的服务器端数据和业务逻辑提供高性能数据连接,增强了客户端Flex框架。Flex数据服务基于强大的消息体系结构,它与现有的基于标准的中间设备相集成,提供客户和服务器之间的数据自动同步服务,增加对实时数据推送和发布/订阅消息的支持,并实现应用程序的协作和偶尔连接。,17.6.2 数据服务的组成与部署,数据服务主要由三部分组成:数据管理服务,消息服务以及RPC服务,如图所示。1.数据管理服务2.Flex消息服务3.RPC服务4.开发部署,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号