`
zhuliyong
  • 浏览: 2351 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Ext的form向后台传大量值的问题(可编辑表格)

阅读更多
我在使用form的时候,有些值是直接加载URL后面向后台(struts2)传递的,如下:
Ext.getCmp('tabs').getForm().getEl().dom.action ='updatebenchmarkarith.action?'+string;
Ext.getCmp('tabs').getForm().getEl().dom.method = 'POST';
Ext.getCmp('tabs').getForm().getEl().dom.submit();

当后面的string为:
definition.algdescribe=eeqrewrqwer66666&definition.benchmarkarithcode=10003&definition.arithtype=1&definition.comptype=1&spdefinitionList%5B0%5D.benchmarkarithcode=10003&spdefinitionList%5B0%5D.indexcode=1018&spdefinitionList%5B0%5D.indexexchange=SHIBE&spdefinitionList%5B0%5D.weight=0.0&spdefinitionList%5B1%5D.benchmarkarithcode=10003&spdefinitionList%5B1%5D.indexcode=6023&spdefinitionList%5B1%5D.indexexchange=E&spdefinitionList%5B1%5D.weight=5的时候是可以正常提交的,但是当数据较多时提交后就没有反应了,也不报错

google了一下,method ='get'的时候,传递的数据是有限,post则不受限,但是当以上面的方式将method 设置为post时,还是一样的,不知为何????

关于该问题的解决我有这样的要求:
第一,后台接受数据直接是List<model>,主要对于可编辑表格,基本上,表格每条数据对应后台List中的一个对象实例;
第二,最好不要用什么隐藏域提交,然后到后台去解析,我希望后台除了定义一个List就OK了,所有的一切都在前台做完了;

实际上,我上面的做法就是为了达到这个目的,但是随着可编辑表格的数据量的增大,就不行了,以前有人回复了一些方案,其实我试过了不行,是不是我的这种想法真的不能实现?


-------------------------------------------------2009-7-2
对于这个问题,貌似是这样的,对于URL的长度就是受到限制了,提交方法是‘get’还是‘post’对此好像无能为力(需要查文档证实)。
最近我想到到了一个自己可以接受的解决办法:

一、后台依然用数据对象或对象数组直接接受数据,无需任何修改;
二、前台的提交方式修改:
对于原先加在URL后面的字符串换成动态添加的隐藏域:如我想将表格第i条数据的‘name’字段,直接存储到后台申明的List<T> list的第i个对象的‘name字段’,那么我应该这样做:
var t = new Ext.form.TextField({name:'list['+i+']',value:'testvalue',hidden:true,hideLabel:true});
如我定义了一个保存按钮id为‘save’,则我可以这样动态的添加t到form中,
Ext.getCmp("savebtn").ownerCt.add(t);
注意:这一步很重要:Ext.getCmp('form').doLayout(true);
Ext.getCmp('form')为为定义的formpanel,doLayout(true)有什么作用,参见API;
这样就将grid.store中的一个record的一个字段对应到了action中list的一个对象的一个字段,意味着前后台的直接对应;
我认为,这很方便,简化了数据处理,后台只需做一些dao层的事情即可,而无须考虑前台显示的数据格式。
分享到:
评论

相关推荐

    ext文档 和实例

    EXT Grid是一种灵活的数据显示组件,可用来展示大量结构化数据。它支持行和列的排序、分页、过滤、编辑等功能,且能与后台数据库无缝对接。`Ext.Grid详解.docx`可能会深入探讨EXT Grid的配置选项,如column模型、...

    ext培训文档doc

    5. **EXT Grid**:EXT的网格组件是其一大亮点,可以展示大量数据,并提供排序、分页、过滤、编辑等功能。通过配置列模型和行模板,可以实现复杂的数据展示和操作。 6. **EXT Form**:EXT的表单组件支持各种输入类型...

    Ext组件描述,各个组件含义

    ### Ext组件概述与详解 #### 一、Ext基础组件 **1.1 Box Component (Ext.BoxComponent)** - **xtype**: `box` - **功能描述**:Box Component 是一个非常基本的 Ext 组件,主要用于定义具有边框和其他布局属性的...

    Ext框架开发文档及ext-core.js

    1. **组件(Components)**:EXT框架的基础是组件,它们是可复用的UI元素,如按钮、表格、面板等。每个组件都有自己的属性、方法和事件,可以根据需求进行配置和定制。 2. **布局管理器(Layout Managers)**:EXT...

    ext 打造华丽页面

    EXT提供了一系列预定义的组件,如表格(Grid)、面板(Panel)、表单(Form)、菜单(Menu)等,这些组件可以自由组合,构建出复杂的用户界面。EXT的组件化设计使得代码复用性高,易于维护。 EXT的另一个核心特性是...

    简单的EXT项目代码

    EXT的核心在于EXT JS,这是一个强大的UI库,提供了大量的可重用组件,如表格、树形视图、面板、表单等,使得开发者可以构建出交互性强、功能丰富的Web应用。EXT项目通常会与其他后端技术如Struts进行整合,以实现...

    ext 2.0

    3. **表格网格**:Ext 2.0的表格组件(GridPanel)功能强大,支持分页、排序、过滤、编辑等功能,能处理大量数据并实现高性能渲染。同时,它还提供了行选择、行编辑等多种交互模式。 4. **表单组件**:Ext 2.0提供...

    Ext框架简介.ppt

    1. 表格(Grid):用于展示和编辑表格数据,支持分页、排序、过滤等功能。 2. 窗口(Window):弹出式对话框,可以包含任意组件。 3. 面板(Panel):可包含多个组件的容器,通常作为应用的基本布局单元。 4. 表单...

    ext2.0正式版本

    EXT 2.0的组件体系非常丰富,包括窗口(Window)、面板(Panel)、表格(Grid)、树形视图(Tree)、表单(Form)等。这些组件具有高度可配置性,可以实现复杂的布局和样式,为开发者提供了极大的灵活性。例如,Grid...

    ext 图书管理系统

    1. **用户界面**:EXT库提供了一系列预先设计的UI组件,如表格(Grid)、树形视图(Tree)、表单(Form)等,用于展示图书信息、分类和借阅记录。这些组件具有响应式设计,能在不同设备上自适应显示。 2. **数据...

    精通JS脚本之ExtJS框架.part1.rar

    9.3 可编辑表格控件——EditorGrid 9.3.1 制作第一个EditorGrid 9.3.2 添加一行数据 9.3.3 保存修改结果 9.3.4 验证EditGrid中的数据 9.3.5 限制输入数据的类型 9.4 PropertyGrid属性表格控件 9.4.1 Property...

    Ext开发指南

    4. **Grid和表格**:ExtJS的表格组件(GridPanel)是其核心特性之一,允许展示大量数据并支持排序、筛选和编辑。理解如何配置列、行以及如何处理数据源是必备技能。 5. **Form表单**:创建动态和交互式的表单是...

    ext入门必学.pdf

    它能够创建与桌面应用程序相媲美的Web应用程序,支持复杂的Layout布局,提供了包括可编辑表格(Edit Grid)在内的多种功能,且支持XML和JSON数据类型。 EXT框架的核心组件库主要包含在`ext-all.js`文件中,该文件...

    Ext 3.0 中文API

    5. **Grid组件**:Grid是Ext 3.0中的重要组件,用于显示和编辑表格数据。它支持排序、分页、过滤、行选择等功能,可以实现复杂的数据操作和展示。 6. **表单组件**:Ext 3.0提供了丰富的表单元素,如文本框、下拉框...

    ext学习例子

    EXT3的组件模型非常强大,包含表格(Grid)、表单(Form)、面板(Panel)、菜单(Menu)等多种UI组件,以及数据绑定(Data Binding)和Ajax通信等功能。通过这些例子,你可以深入理解EXT3的工作原理和使用方法。 1...

    EXT 2.0资料

    EXT 2.0的核心是EXT JS库,它提供了大量的UI组件和数据绑定机制,使得开发者能够轻松地创建复杂的前端用户界面,并与后端数据进行有效交互。 在EXT 2.0中,与后台数据的交互主要通过Ajax技术实现,Ajax即...

    ext-1.0源码+部分中文解读

    EXT-1.0的Grid组件是用于显示大量结构化数据的重要工具。它可以实现分页、排序、过滤等功能,并且支持行选择和编辑。 9. **Panel和Window** Panel是EXT-1.0中的基础容器,可以容纳其他组件并进行布局。Window则是一...

    ext-3.4.0开发包

    例如,你可以找到如何创建一个简单的表格(Grid),如何设置分页,如何实现行编辑,以及如何在表单(Form)中添加各种控件和验证规则。此外,还有关于拖放操作、树形结构、图表组件的示例,以及如何自定义组件和扩展...

    掏钱学Ext(完整版) 附全部源码

    2.7. 还差:表头菜单,分页,可编辑表格,去服务器读取数据,改变大小,表格间拖拽,树与表格间拖拽。 3. 歌颂吧!只为了树也要学ext。 3.1. 真的,我是为了树,才开始学ext的。 3.2. 传统是先做出一棵树来。 ...

Global site tag (gtag.js) - Google Analytics