首先将js代码粘贴上来
Ext.require(['Ext.form.*', 'Ext.data.*']);
//定义model
Ext.define('lcm.formItem', {
extend : 'Ext.data.Model',
fields : [{
name : 'name',
mapping : 'name'
}, {
name : 'age',
mapping : 'age'
}]
});
//定义formPanel
Ext.define('lcm.SouthCenter', {
extend : 'Ext.form.Panel',
renderTo : 'form',
frame : true,
title : 'Form',
width : 340,
bodyPadding : 5,
waitMsgTarget : true,
fieldDefaults : {
labelAlign : 'right',
labelWidth : 85,
msgTarget : 'side'
},
//初始构造
initComponent : function() {
this.items = [{
xtype : 'textfield',
fieldLabel : '姓名',
name : 'name'
}, {
xtype : 'textfield',
fieldLabel : '年龄',
name : 'age'
}];
//以数组形式读取数据(这种方法可以得,请自行测试)
// this.reader = Ext.create('Ext.data.reader.Array', {
// model : 'lcm.formItem',
// record : 'map',
// implicitIncludes : false
// });
//以json形式读取数据
this.reader = Ext.create('Ext.data.JsonReader', {
root : "map",
model : 'lcm.formItem'
});
this.callParent(arguments);
}
});
Ext.onReady(function() {
var app = new lcm.SouthCenter();
app.getForm().load({
url : 'myFormAction!load',
waitMsg : 'Loading...'
})
});
第一个需要注意的是model里面的fileds,一定要与formPanel的textfield一一对应,
第二个需要注意的是render里面一定要引入model,不能直接定义成
reader: new Ext.data.JsonReader({
root: 'map',
fields: ['name','age'] //JSON数据解析
})
这种形式,这样的话会报me.model undefined错误。
现在把后台action代码传上
package com.demo.action;
import java.util.HashMap;
import java.util.Map;
public class MyFormAction {
private boolean success;
private Map map = new HashMap();
public String load() {
//如果没有success=true,读取json数据会出错
success = true;
map.put("name", "liu");
map.put("age", 12);
// System.out.println("why!");
return "load";
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
}
再将struts.xml中的配置传上
<action name="myFormAction" class="myFormAction">
<result name="load" type="json">
<param name="includeProperties">success,map.*</param>
</result>
</action>
这样就大功告成,现在附截图一张
firebug的控制台信息
相关推荐
在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...
此外,EXTJS的FormPanel可能用于添加、修改和查看产品详情,包括产品名称、类别、库存、价格等信息。 2. **订单管理**: 订单管理功能可能涉及到订单创建、查询、更新和删除等操作。EXTJS的TreePanel或者DataGrid...
4. **数据展示与操作**:ExtJS的组件如GridPanel和FormPanel可以用于数据的展示和编辑,配合ASP.NET的数据访问层,可以实现对数据库的CRUD操作。 5. **异步操作**:使用ExtJS的Ajax和Store组件,可以实现异步加载...
2. **添加新闻**:通过ExtJS的FormPanel组件创建表单,用户填写新闻内容并提交。提交事件触发Ajax请求,Struts2 Action接收并处理数据,插入数据库。 3. **用户列表**:与新闻列表类似,使用GridPanel展示用户信息...
Store支持远程数据加载,可以与服务器通过Ajax进行通信,实现分页、排序、过滤等功能。 **4. GridPanel** GridPanel是ExtJS中的一个核心组件,用于展示表格数据。它提供了行编辑、列重排、筛选等多种功能,并且可以...
总的来说,这个项目涵盖了前端开发中的多个重要技术点,包括ExtJS的Tree组件、动态加载、数据操作以及与后端的交互,后端的Java服务设计,以及数据库设计和管理。如果你对这些领域感兴趣,这个项目提供了一个很好的...
2. **EXTJS控件应用**:项目涵盖了EXTJS2.2几乎所有的控件,如GridPanel用于数据展示,FormPanel用于用户输入,TabPanel实现多页面切换,TreePanel用于层次结构的数据展示,Window和Dialog则提供弹出窗口功能。...
- 数据表格展示:使用GridPanel显示学生列表,支持排序、过滤和分页,通过ExtJS的数据绑定机制与后台进行交互。 - 搜索功能:提供输入框,实现对学生信息的模糊搜索,使用ExtJS的Filter或QueryMode配置。 - 权限...
在添加和修改数据时,FormPanel会与后台进行数据交互。 **2. SSH 框架整合** SSH框架分别处理Spring的依赖注入、Struts的MVC流程和Hibernate的对象关系映射。在实现增删改查功能时,这三部分紧密协作: - **...
ExtJS可以轻松地将数据模型与JSON数据对接,进行数据的加载、编辑和保存。 具体到这个项目,"Student"可能是指一个学生管理系统的例子,其中包含一个名为"Student"的实体类,可能有相关的数据库表。开发人员会创建...
在ExtJS中,我们可以使用`Ext.form.FormPanel`创建一个包含输入字段的表单,这些字段对应于查询条件。例如,你可以有文本框(TextField)用于关键词输入,下拉框(ComboBox)用于选择类别,日期选择器(DateField)...
DWR则负责在后台处理业务逻辑和数据操作,通过JSON或其他格式的数据交换,实现与EXTJS前端的无缝对接。 EXTJS的组件体系非常完善,例如,GridPanel可以展示大量数据并支持排序、筛选和分页;FormPanel则用于创建...
在与ExtJS配合使用时,可能用于处理后端逻辑,比如处理来自前端的CRUD请求,然后返回相应的JSON数据供ExtJS Store消费。 在文件列表中提到的"ext3",可能是指ExtJS的3.x版本。ExtJS 3.x是一个较旧的版本,但仍然...
4. **JSON数据交换**:Struts可以通过JSONResult或自定义拦截器返回JSON格式的数据,ExtJS通过Store的proxy配置接收这些数据,实现前后端的数据同步。 5. **MVC设计模式**:Struts遵循MVC模式,Model代表业务逻辑,...
4. **Store和Model**:在ExtJS中,Store用于存储数据,它可以连接到各种数据源,如JSON、XML或者远程API。Model定义了数据的结构和行为,图书管理系统中,每个图书条目可能对应一个Model,包含诸如书名、作者、出版...
开发者可以通过定义Store来连接后台数据源,GridPanel用于显示数据,FormPanel用于编辑和保存数据,而Ext.Ajax则用于发送异步请求。 总的来说,这个实例展示了如何将这些技术结合在一起,形成一个完整的Web应用开发...
在IT行业的前端开发领域,尤其是使用ExtJS框架进行开发时,前后台的数据交互是一项至关重要的技术环节。ExtJS,作为一款强大的JavaScript库,为开发者提供了多种高效、灵活的方式来实现前端与后端之间的数据交换。...
- 数据在Extjs中不仅仅是指存储的数据,还涉及到数据的加载、处理和展示。 - 组件与数据紧密相关,许多组件都需要数据源的支持才能正常工作。 - **Ext.data.DataProxy类** - 负责从服务器加载数据,包括异步请求...
在数据加载完成后,可以使用form.form.setValues方法,将从服务器返回的JSON数据批量设置为表单中相应字段的值。 通过上述步骤,可以成功地在ExtJS中设置级联菜单的默认值。需要注意的是,在实际应用中,服务器返回...
例如,使用Store与Model定义数据结构,GridPanel展示数据,EditorGridPanel支持直接在网格中编辑,以及FormPanel用于添加和修改数据,这些都是ExtJS实现CRUD操作的关键组件。 接下来,我们探讨树形结构的应用,特别...