ExtJs4之Reader、Wtiter和Store

好多天没写博客了,最近工作一直很忙。。。

1.Reader数据读取器

数据读取器主要用于将数据代理读取到的原始数据按照不同的规则进行解析,将解析后的数据保存在Model模型对象中。数据读取器相当于原始数据格式与Extjs标准数据格式之间的桥梁,它屏蔽了原始数据格式不同对程序开发造成的影响。在Extjs中提供的数据解析器主要有如下3种:

Ext.data.reader.Json  JSON数据读取器

Ext.data.reader.Xml  XML数据读取器

Ext.data.reader.Array  数组数据读取器

1.1 Ext.data.reader.Reader

Ext.data.reader.Reader是读取器的父类,主要用于从数据源读取结构化数据,它有两个子类分别是JsonReader和XmlReader。下表列出了它的主要配置项和方法。

表1-1 Ext.data.reader.Reader主要配置项

配置项 参数类型 说明
idProperty String 设置作为数据唯一表示的字段名,默认为Model模型的id字段
implicitIncludes Boolean 设置是否级联读取数据,默认为true
messageProperty String 设置获取响应信息的属性名
root String 设置返回信息的根名称,为必选项
successProperty String 设置获取成功状态的属性名,默认为success
totalProperty String 设置获取记录总数的属性名,默认为total
 

表1-2 Ext.data.reader.Reader主要方法

方法 说明
read(Object response):Ext.data.ResultSet 读取响应对象,返回结果集
response:可以是一个XMLHttpRequest对象,可以是一个普通的Json对象
 

Ext.data.reader.Reader支持嵌套数据的读取,它会根据实体模型Model中关系API简历关联关系遍历响应数据。

1.2 Ext.data.reader.Json

Ext.data.reader.Json 是读取Json数据的数据读取器,它根据实体模型Model中字段定义的映射关系解析原始数据,形成记录集。

表 1-3 Ext.data.reader.Json 主要配置项

配置项 参数类型 说明
record String 定位在Json响应信息中发现记录数据的位置,一般情况下不需要该配置项
useSimpleAccessors Boolean 设置是否使用简单是陪方式,默认为false。
如属性foo.bar.baz在默认情况下会从root中找foo属性,然后在foo中找bar属性,在bar中找baz属性.在简单模式下会最为一个整体处理,不会拆分.
表1-4 Ext.data.reader.Json 主要方法

方法

说明
readRecords(Object data):Ext.data.ResultSet 从json对象中读取信息,返回结果集
data:数据对象,在该对象中包含与配置项root和titalProperty对应的属性,分别表示包含记录信息的数组和总记录数

1.3 Ext.data.reader.Xml

Ext.data.reader.Xml 是读取xml文档格式信息的数据读取器,它根据实体模型Model中字段定义的映射关系解析原始信息,形成记录集。

注意:为了使浏览器可以正确的解析xml文档,必须设置相应的content-type类型为‘text/xml’

表1-5 Ext.data.reader.Xml 主要配置项

配置项 参数类型 说明
record String 包含记录信息元素的DomQuery路径
表 1-6 Ext.data.reader.Xml 主要方法
方法 说明
getData(Object date):Object
readRecords(Object doc): Ext.data.ResultSet
获取标准化的数据对象
从xml数据文档中读取信息,形成记录集
doc:xml数据文档对象

1.4 Ext.data.reader.Array

Ext.data.reader.Array继承自Ext.data.reader.Json,是读取二维数据信息的读取器,内层数组是一个包含字段数据的数据行,如果字段映射存在字段将根据它的下标取值到model中,如果字段映射不存在则字段按字段的原始位置进行取值。Ext.data.reader.Array的主要配置项和方法请参考Ext.data.reader.Json相关说明。

2.Writer数据写入器

数据写入器主要用于将数据代理提交到服务器的数据进行编码,相当于Extjs标准数据格式与服务器数据格式之间的桥梁,他屏蔽了服务器端数据格式不同对程序开发造成的影响。在Extjs中提供的数据写入器有:

Ext.data.writer.Json  Json写入器

Ext.data.writer.Xml  xml写入器

2.1 Ext.data.writer.Writer

Ext.data.writer.Writer 是数据写入器的父类,它负责处理请求对象,将数据转换为指定格式,对于客户端代理是不需要指定Writer 写入器的。

表2-1 Ext.data.writer.Writer  主要配置项

配置项 参数类型 说明
nameProperty String 设置发送到服务器数据的键值属性名
writerAllFields Boolean 设置是否向服务器写入所有字段,false则指包含被修改的字段,默认为true
表2-2 Ext.data.writer.Writer  主要方法
方法 说明
getRecordData(Object record):Object 获取格式化之后的数据
record;需要发送的服务器记录对象

2.2 Ext.data.writer.Json

JSON格式的数据写入器,它会将实体模型model中的数据转化为json格式发送到服务器。

wirter:{         type:'json'  }

你可能感兴趣的:(数据库)