`
刘长鸣
  • 浏览: 29645 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ExtJs4 formPanel从后台加载json数据

阅读更多

       首先将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的控制台信息

 

 

  • 大小: 5.1 KB
  • 大小: 20.6 KB
分享到:
评论

相关推荐

    Extjs4的FormPanel从后台load json数据的要点

    在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...

    EXTJS 服装批发网站后台

    此外,EXTJS的FormPanel可能用于添加、修改和查看产品详情,包括产品名称、类别、库存、价格等信息。 2. **订单管理**: 订单管理功能可能涉及到订单创建、查询、更新和删除等操作。EXTJS的TreePanel或者DataGrid...

    extjs+asp.net后台管理系统页面

    4. **数据展示与操作**:ExtJS的组件如GridPanel和FormPanel可以用于数据的展示和编辑,配合ASP.NET的数据访问层,可以实现对数据库的CRUD操作。 5. **异步操作**:使用ExtJS的Ajax和Store组件,可以实现异步加载...

    Extjs+Struts2系统后台管理框架

    2. **添加新闻**:通过ExtJS的FormPanel组件创建表单,用户填写新闻内容并提交。提交事件触发Ajax请求,Struts2 Action接收并处理数据,插入数据库。 3. **用户列表**:与新闻列表类似,使用GridPanel展示用户信息...

    ajax框架之extjs2.0

    Store支持远程数据加载,可以与服务器通过Ajax进行通信,实现分页、排序、过滤等功能。 **4. GridPanel** GridPanel是ExtJS中的一个核心组件,用于展示表格数据。它提供了行编辑、列重排、筛选等多种功能,并且可以...

    extjs 写的动态加载、增删改查、拖拽Tree (java mysql数据库 已有表结构 eclipse可直接导入)(完整版)

    总的来说,这个项目涵盖了前端开发中的多个重要技术点,包括ExtJS的Tree组件、动态加载、数据操作以及与后端的交互,后端的Java服务设计,以及数据库设计和管理。如果你对这些领域感兴趣,这个项目提供了一个很好的...

    extjs2.2开发实战项目 已经发布运行

    2. **EXTJS控件应用**:项目涵盖了EXTJS2.2几乎所有的控件,如GridPanel用于数据展示,FormPanel用于用户输入,TabPanel实现多页面切换,TreePanel用于层次结构的数据展示,Window和Dialog则提供弹出窗口功能。...

    用Extjs做到学生管理系统

    - 数据表格展示:使用GridPanel显示学生列表,支持排序、过滤和分页,通过ExtJS的数据绑定机制与后台进行交互。 - 搜索功能:提供输入框,实现对学生信息的模糊搜索,使用ExtJS的Filter或QueryMode配置。 - 权限...

    Extjs+ssh 增删改查

    在添加和修改数据时,FormPanel会与后台进行数据交互。 **2. SSH 框架整合** SSH框架分别处理Spring的依赖注入、Struts的MVC流程和Hibernate的对象关系映射。在实现增删改查功能时,这三部分紧密协作: - **...

    SSH+ExtJs实现表单的增删改查CRUD

    ExtJS可以轻松地将数据模型与JSON数据对接,进行数据的加载、编辑和保存。 具体到这个项目,"Student"可能是指一个学生管理系统的例子,其中包含一个名为"Student"的实体类,可能有相关的数据库表。开发人员会创建...

    extjs2.0 画的一个带查询条件和查询结果的页面

    在ExtJS中,我们可以使用`Ext.form.FormPanel`创建一个包含输入字段的表单,这些字段对应于查询条件。例如,你可以有文本框(TextField)用于关键词输入,下拉框(ComboBox)用于选择类别,日期选择器(DateField)...

    extjs做的一个桌面应用系统

    DWR则负责在后台处理业务逻辑和数据操作,通过JSON或其他格式的数据交换,实现与EXTJS前端的无缝对接。 EXTJS的组件体系非常完善,例如,GridPanel可以展示大量数据并支持排序、筛选和分页;FormPanel则用于创建...

    Extjs实现了增删改查(增加了动态树)上次升级版

    在与ExtJS配合使用时,可能用于处理后端逻辑,比如处理来自前端的CRUD请求,然后返回相应的JSON数据供ExtJS Store消费。 在文件列表中提到的"ext3",可能是指ExtJS的3.x版本。ExtJS 3.x是一个较旧的版本,但仍然...

    Extjs结合Struts版的简单书籍管理系统

    4. **JSON数据交换**:Struts可以通过JSONResult或自定义拦截器返回JSON格式的数据,ExtJS通过Store的proxy配置接收这些数据,实现前后端的数据同步。 5. **MVC设计模式**:Struts遵循MVC模式,Model代表业务逻辑,...

    [信息办公]ExtJS 2.2 图书管理系统_bmsh.zip

    4. **Store和Model**:在ExtJS中,Store用于存储数据,它可以连接到各种数据源,如JSON、XML或者远程API。Model定义了数据的结构和行为,图书管理系统中,每个图书条目可能对应一个Model,包含诸如书名、作者、出版...

    Hibernate+Spring+Struts2+ExtJS开发CRUD功能实例

    开发者可以通过定义Store来连接后台数据源,GridPanel用于显示数据,FormPanel用于编辑和保存数据,而Ext.Ajax则用于发送异步请求。 总的来说,这个实例展示了如何将这些技术结合在一起,形成一个完整的Web应用开发...

    ext开发_前后台交互

    在IT行业的前端开发领域,尤其是使用ExtJS框架进行开发时,前后台的数据交互是一项至关重要的技术环节。ExtJS,作为一款强大的JavaScript库,为开发者提供了多种高效、灵活的方式来实现前端与后端之间的数据交换。...

    Extjs中文教程

    - 数据在Extjs中不仅仅是指存储的数据,还涉及到数据的加载、处理和展示。 - 组件与数据紧密相关,许多组件都需要数据源的支持才能正常工作。 - **Ext.data.DataProxy类** - 负责从服务器加载数据,包括异步请求...

    ExtJS 设置级联菜单的默认值

    在数据加载完成后,可以使用form.form.setValues方法,将从服务器返回的JSON数据批量设置为表单中相应字段的值。 通过上述步骤,可以成功地在ExtJS中设置级联菜单的默认值。需要注意的是,在实际应用中,服务器返回...

    .net Ext 开发

    例如,使用Store与Model定义数据结构,GridPanel展示数据,EditorGridPanel支持直接在网格中编辑,以及FormPanel用于添加和修改数据,这些都是ExtJS实现CRUD操作的关键组件。 接下来,我们探讨树形结构的应用,特别...

Global site tag (gtag.js) - Google Analytics