Extjs4的model中支持数据代理proxy,在4之前的版本中数据代理只能在store里才有。现在model里有了数据代理就会更灵活的得到应用。
现在功能是直接读取后台传过来的一个bean然后给控件进行赋值。
先创建一个model:'customTarget'然后在model里面写个代理获取后台数据proxy ,然后再建立个对象customMonthTarget 用ModelManager取得model,最后在对象的load方法里获取值rec.get('launchCount');
代码如下:
Ext.define('customTarget', {
extend : 'Ext.data.Model',
fields : [
{name : 'customerCount',//本月虚拟客户数
type : 'string'
}, {
name : 'launchCount',//开展客户数
type : 'string'
} ],
proxy : {
type : 'ajax',
url : basePath + 'manage/monthtarget/getCustomMonthTarget.do',
reader : {
type : 'json',
root : 'customMonthTarget'
}
}
});
var customMonthTarget = Ext.ModelManager.getModel('customTarget');
customMonthTarget.load(1,{
success:function(rec){
// 本月虚拟客户数
Ext.getCmp("customerCount").setValue(rec.get('customerCount'));
// 开展客户数
Ext.getCmp("launchCount").setValue(rec.get('launchCount'));
},
callback:function(o,response,success) {
if (success == false){
window.top.location.href = basePath + "page/errors.jsp";
}
}
});
另外看load里面的callback方法,如果返回数据错误后台抛出异常情况下,在后台设置键值对success为false,在load的回调函数里写一个处理错误的连接,这样就会直接跳转的错误处理页面。我原来的想法是在spring里拦截器,如果出错spring会自动拦截跳转到另外一个页面,但是我忽略了一件事情,extjs的请求是异步的,所以拦截器无法实现错误跳转。所以只能写load的回调函数来处理了。
小宝制造。
分享到:
相关推荐
根据提供的文件信息,本文将详细解析ExtJS 4中如何处理不同类型的Store及与之相关的数据操作、模型定义以及前端展示等内容。 ### ExtJS 4中的Store与数据管理 #### Store概念简介 在ExtJS 4中,Store是用于存储...
1. **语义Web应用**:在需要处理和展示语义数据的Web应用中,`rdf-ext-dist-builder`可以帮助开发者轻松地构建和管理RDF数据。 2. **知识图谱**:在构建知识图谱的前端展示时,此库能提供高效的数据操作和展示功能...
加载数据后,将其赋值给GridPanel的`store`属性,使数据与表格关联。 总结来说,这个例子展示了如何使用ExtJs的JsonStore和GridPanel来显示服务器返回的JSON数据,通过定义列模型、设置表格样式和交互功能,构建了...
实际上变量v在准备阶段过后的初始值为0而不是8080,将v赋值为8080的putstatic指令是程序被编译后,存放于类构造器方法之中。但是注意如果声明为:public static final int v = 8080;在编译阶段会为v生成Constant...
4. **解析**:将常量池中的符号引用替换为直接引用。 5. **初始化**:执行类构造器`<clinit>`方法,为类进行初始化。该方法由编译器自动收集类中静态语句块和变量的赋值操作组成。 ### 二、类加载器及其加载模型 #...
4. **解析**:将符号引用转换为直接引用,即将类、接口、字段和方法的符号引用转换为可以直接使用的内存地址。 5. **初始化**:执行类的初始化方法 `<clinit>` ,这包括执行静态初始化块和对静态变量的赋值。 在...
类的加载过程主要由类加载器(ClassLoader)完成,类加载器负责将.class文件中的字节码读取到内存中,并转换为运行时数据结构。 #### 三、类加载器 类加载器主要分为以下几类: 1. **启动类加载器(Bootstrap ...
4. **解析**:将符号引用转换为直接引用,准备类之间的关联。 5. **初始化**:执行类的静态初始化块,对静态变量进行最终赋值。 Java 类加载器体系是一个树状结构,主要由以下几部分组成: - **引导类加载器...
3. `ABBRES, Lab, Fname, Ext`:从编码文件中读取缩略语。Lab指定操作标题,NEW和CHANGE分别用于替换或追加缩略语。 4. `ABBSA V, Lab, Fname, Ext`:将当前的缩略语保存到文本文件中。Lab可以设为ALL以保存所有...
- 类加载器根据类的全限定名从文件系统中读取类的字节码文件,并将其转换为字节数组。 - 这些字节码数据被传给`defineClass`方法,由JVM创建`Class`对象。 **2. 链接阶段** - **验证**:确保类的数据符合JVM的...
- **Extension类加载器**:加载JRE扩展目录下的类库,如jre/lib/ext目录或java.ext.dirs指定的路径。 - **Application类加载器**:也称为系统类加载器,它根据classpath加载应用程序类,是Extension类加载器的子...
`LoadResString`方法用于从资源文件中读取XML字符串。 3. **连接事件处理**: ```vb Private Sub IDTExtensibility2_OnConnection(ByVal Application As Object, _ ByVal ConnectMode As AddInDesignerObjects....
4. **解析**:将符号引用转换为直接引用,这涉及到了类与方法的绑定。例如,将类名转换为实际的Class对象引用。 5. **初始化**:执行类的初始化方法(`<clinit>`),这个方法包含了所有静态变量的赋值语句和静态块...
编译后的Java代码——以类文件和打包的JAR文件形式存在——可以在任何支持的操作系统上的运行中的JVM进程中加载。这种能力使得开发者可以轻松地分发编译后的库二进制文件。 本文将深入解释Java类加载机制及其工作...
- **加载**(A):这是类加载的第一个阶段,在这个阶段,JVM负责读取类的二进制数据到内存中。 - **验证**(B):确保加载的类信息符合JVM的要求,例如检查类文件格式是否正确等。 - **准备**(C):为类变量分配...
实际上变量v在准备阶段过后的初始值为0而不是8080,将v赋值为8080的put static指令是程序被编译后,存放于类构造器方法之中。 解析阶段是指虚拟机将常量池中的符号引用替换为直接引用的过程。符号引用就是class...
ExtJS中的`JsonReader`是用于解析JSON格式数据的类,这里的`jsonReader`实例化了一个`JsonReader`,它从服务器返回的数据中读取`root`属性作为数据集合,`totalProperty`表示总记录数。 `xg = Ext.grid`是将`Ext....
3. `ABBRES, Lab, Fname, Ext` 从一个编码文件中读取缩略语。Lab可以指定操作标题,如“NEW”替换当前缩略语,“CHANGE”添加并替换现有同名缩略语。 4. `ABBSAV, Lab, Fname, Ext` 将当前的缩略语保存到文本文件。...
- **扩展类加载器(Extension ClassLoader)**:Java编写,负责加载`JAVA_HOME/lib/ext`目录中的类库。 - **应用程序类加载器(Application ClassLoader)**:默认的类加载器,加载`classpath`环境变量指定的类。 - *...