结构:
Modle中
结构图
Ext.data.reader.Reader 读取器的根类
Ext.data.reader.Json JSON格式的读取器
Ext.data.reader.Array 扩展JSON的Array读取器
Ext.data.reader.Xml XML格式的读取器
@Ext.data.reader.Json
(function(){
Ext.onReady(function(){
var userData = {
//total : 200,
count:250,
user:[{auditor:'yunfengcheng',info:{
userID:'1',
name:'uspcat.com',
orders:[
{id:'001',name:'pen'},
{id:'002',name:'book'}
]
}}]
};
//model
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', //具体的数据,data(抛出count等描述信息)
implicitIncludes:true, //是否级联
totalProperty:'count', //改变读取 描述总数的字段名,如total->count
record : 'info'//服务器返回的数据可能很负载,用record可以筛选出有用的数据信息,装在带Model中
}
});
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'));
});
//开始处理管理数据。
var user = result.resultSet.records[0];
//一个Store
var orders = user.orders();
orders.each(function(order){
alert(order.get('name'))
});
})
});
})();
@Ext.data.reader.Array
person.jsp
<%@page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%
response.getWriter().write("[['yunfengcheng',26]]");
%>
js:
Ext.onReady(function(){
Ext.regModel("person",{
fields:[
'name','age'
// {name:'name'},
// {name:'age'}
],
proxy :{
type:'ajax',
url:'person.jsp',
reader:{
type:'array'
}
}
});
var person = Ext.ModelManager.getModel('person');
person.load(1,{
success:function(model){
alert(model.get('name'))
}
})
});
@Ext.data.reader.Xml
users.xml
<users>
<user>
<name>uspcat.com</name>
<id>00101</id>
</user>
</users>
js:
(function(){
Ext.onReady(function(){
Ext.regModel("user",{
fields:[
{name:'name'},
{name:'id'}
],
proxy:{
type:'ajax',
url:'users.xml',
reader:{
type:'xml',
record:'user'
}
}
});
var user = Ext.ModelManager.getModel('user');
user.load(1,{
success:function(model){
alert(model)
alert(model.get('id'))
}
})
});
})();
Writer
结构图
Ext.data.writer.Writer
Ext.data.writer.Json 对象被解释成JSON的形式传到后台
Ext.data.writer.Xml 对象被解释成XML的形式传到后台
@Ext.data.writer.Json
以POST方式向后台写入数据
Ext.onReady(function(){
Ext.regModel("person",{
fields:[
'name','age'
],
proxy :{
type:'ajax',
url:'person.jsp',
writer:{
//type:'json'
type:'xml'
}
}
});
Ext.ModelMgr.create({ //等于Ext.ModelMgr.create
name:'uspcat.con',
age:1
},'person').save();
})
- 大小: 17.6 KB
分享到:
相关推荐
ExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.doc
目录 1. ExtJs 结构树 2 2. 对ExtJs的态度 3 3. Ext.form概述 4 4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 ...28. extJs 2.0学习笔记(ext.js篇) 77
ExtJS4学习笔记(五)---Grid分页 ExtJS4学习笔记(六)---多表头Grid ExtJS4学习笔记(七)---带搜索的Grid(SearchGrid) ExtJS4学习笔记(八)---Grid多选/全选 ExtJS4学习笔记(九)---ExtJS4 EditGrid(可编辑的Grid) ...
### Extjs 5 学习笔记之 SenchaCmd 深入解析 #### 一、SenchaCmd 的简介 SenchaCmd 是一个跨平台的命令行工具,它为基于 ExtJS 和 Sencha Touch 应用程序的开发周期提供了全面的支持。从创建应用程序的基础结构到...
EXTJS in Action 是一本专为学习EXTJS编写的书籍,但这里我们主要关注学习笔记中的关键知识点。 首先,EXTJS的目录结构非常重要,因为它包含了所有必要的资源和源码: 1. `adapter`:这部分包含了适配器,用于将...
适合ExtJs开发人员extjs技术上手以及深入
### Extjs 学习笔记之九:数据模型(上) #### 概述 本文将深入探讨Extjs框架中至关重要的组成部分——数据模型。数据模型在Extjs中扮演着核心角色,它不仅为开发者提供了强大的数据处理能力,还极大地简化了前端与...
ExtJs简明教程+Extjs学习笔记,来源网络,免费奉送,我讨厌需要资源分~
在探讨《ExtJS学习心得笔记》这一主题时,我们不仅会深入理解ExtJS框架的核心概念与实践技巧,还会从新手的角度出发,提炼出一系列有助于快速上手的学习策略,避免常见的学习陷阱,确保学习过程高效而有成效。...
6. **Ext.data.Store篇**:Store是ExtJs中的数据管理器,负责存储和管理数据集,这里可能解释了如何配置Store、加载数据、监听数据变化等。 7. **Ext.data.JsonReader篇**:JsonReader用于解析JSON格式的数据,与...
语言程序设计资料:ExtJs学习笔记-2积分.doc
在本篇学习笔记中,我们将深入探讨EXTJS中最基本的Grid的构建和配置。 首先,EXTJS的Grid由多个组件构成,其中最重要的是`ColumnModel`,它负责定义Grid中的列属性。在示例代码中,我们创建了一个`ColumnModel`对象...
ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解)
### ExtJS 学习笔记概览 #### 一、ExtJS 入门 **1.1 ExtJS 构成及如何引用** ExtJS 是一款基于 JavaScript 的开源框架,专为 Web 应用程序的前端界面设计。其核心优势在于提供了一套丰富的 UI 组件和强大的数据...