Extjs的读写器
Reader:主要用于将proxy数据代理读取的数据按照不同的规则进行解析,将解析好的数据保存到Medel中
结构图:
Ext.data.reader.Reader 读取器的根类
Ext.data.reader.Json JSON格式的读取器 用模型在读取
Ext.data.reader.Array 扩展JSON的Array读取器
Ext.data.reader.Xml XML格式的读取器
Writer
结构图:
Ext.data.writer.Writer
Ext.data.writer.Json 对象被解释成JSON的形式传到后台
Ext.data.writer.Xml 对象被解析成XML的形式传到后台
Reader 用Json来读取
(function(){
Ext.onReady(function(){
//Reader的用法:将proxy数据代理读取的数据按照不同的规则进行解析,将解析好的数据保存到Medel中
//一下采用的是内存式的数据结构
var userData = {
//total:200,
count:250,
//record的用法,如果在传入值的时候有些东西是不需要的,可以用它来删减
user:[{auditor:'laowang',info:{
userId:'1',
name:'laowang',
//订单,一个用户可以有多个订单
orders:[
{id:'001',name:'pen'},
{id:'002',name:'book'}
]
}}]
};
Ext.regModel("user",{
fields:[
{name:'userId',type:'string'},
{name:'name',type:'string'}
],
hasMany: {model: 'order'} //一对多
});
Ext.regModel("order",{
fields:[
{name:'id',type:'string'},
{name:'name',type:'string'}
],
belongsTo: {type: 'belongsTo', model: 'user'} //多对一
});
//利用内存代理来把类和模型之间进行关联
var mproxy = Ext.create("Ext.data.proxy.Memory",{
model:'user',
data:userData,
//只是通过内存代理来读取是读取不出来的,要用到一个读写器
reader:{
type:'json',
root:'user',
implicitIncludes:true,
totalProperty:'count',//totalProperty是把total上面的字母换掉自己想要的,但是在读取的时候属性的值,即total是不变的
record:'info'//对服务器返回的数据可能很复杂,利用record可以删选出有用的信息装在到model中
}
});
//运用内存代理来读取user
mproxy.read(new Ext.data.Operation(),function(result){
var datas = result.resultSet.records;
alert(result.resultSet.total);
Ext.Array.each(datas,function(model){
alert(model.get('name'));
});
//连读,通过user读取到的order是一个对象集合,不是一个数组
var user = result.resultSet.records[0];
var orders = user.orders();
orders.each(function(order){
alert(order.get('name'));
})
});
});
})();
2.Reader 用xml来读取
(function(){
Ext.onReady(function(){
Ext.regModel("user",{
fields:[
{name:'id'},
{name:'name'}
],
//运用ajax代理,xml来读取
proxy:{
type:'ajax',
url:'extLession/readerWriter/readerXml.xml',
reader:{
type:'xml',
record:'user'
}
}
});
//用模型管理器来创建模型
var proxml = Ext.ModelManager.getModel("user");
proxml.load(1,{
success:function(model){
alert(model.get('id'));
}
});
});
})();
Writer 写 用json和xml写
通过json的方式写到后台
(function(){
Ext.onReady(function(){
Ext.regModel("person",{
fields:[
'name','age'
],
proxy:{
type:'ajax',
url:'extLession/readerWriter/person.jsp',
writer:{
type:'json'
}
}
});
Ext.ModelManager.create({
name:'laowang',
age:26
},"person").save();
});
})();
写入到后台的格式为:
如果把type换成xml,则效果为:
分享到:
相关推荐
第五讲:extjs4.0的读写器reader,writer [05]EXTJS4.0的读写器reader,writer.wmv 第六讲:extjs4.0的数据集store [06]EXTJS4.0的数据集store.wmv (73.45M) 第七讲:extjs4.0的事件机制Event [07]EXTJS4.0的...
第五讲:extjs4.0的读写器reader,writer [05]EXTJS4.0的读写器reader,writer.wmv 第六讲:extjs4.0的数据集store [06]EXTJS4.0的数据集store.wmv (73.45M) 第七讲:extjs4.0的事件机制Event [07]EXTJS4.0的事件...
ExtJs4.0官方版本 ExtJs4.0官方版本 ExtJs4.0官方版本
EXTJS4.0视频教程 30集 下载地址 另有EXTJS4.0视频教程配套代码 http://download.csdn.net/detail/sammy85/4421061
第五讲:extjs4.0的读写器reader,writer [05]EXTJS4.0的读写器reader,writer.wmv 第六讲:extjs4.0的数据集store [06]EXTJS4.0的数据集store.wmv (73.45M) 第七讲:extjs4.0的事件机制Event [07]EXTJS4.0的事件...
ExtJs4.0 手册中文版 ExtJs4.0 中文文档
ExtJs4.0入门教程,详细介绍ExtJs4.0。
extJs4.0 开发手册源码 于之前的extjs4.0开发手册配套
extjs4.0开发有助于了解extjs4.0技术的解释,适合入门者
extjs4.0开发人员以及学习可以下载参考
ExtJS4.0开发笔记
一款很好的适合Extjs4.0初学者学习的word文档,示例加上简单的标注说明,使你很快对Extjs4.0进入入门阶段,不可多得的文档,值得下载
最新Extjs4.0 所有文件,含案例,帮助文档,源代码
可二次开发Extjs4.0通用后台管理系统源码完整大型项目。数据库在项目里面的一个sql文件里面 1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高...
Extjs 4.0中文版API
extjs4.0+extdesign+fullsource+extjs.jsb2的整套开发.
ExtJS4.0中文API chm版:包括ExtJS4,js,jquery 网页版:全面的详细的ExtJS4.0 api
ExtJS4.0 中文版帮助文档 chm下载
ExtJS4.0-API Ext4.0-API Ext4 ExtJS4 API 学EXTJS4的好东西...
extjs4.0对原生javaScript功能进行了扩展(API中的Utilities模块中的NativeExtensions)