博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExtjsMVC开发过程中遇到的具体问题总结
阅读量:5057 次
发布时间:2019-06-12

本文共 4128 字,大约阅读时间需要 13 分钟。

1.登陆相关问题

       1.如何在文本框中增加提示信息

             2.如何在文本框中触发回车事件
             3.如何在回车事件中触发按钮的动作
            

2.只读文本框样式设置

参考文章:

 

3.关于查询数据返回的问题

  在真正的业务系统中,大部分数据返回时无法返回数据库中对应的实体,一般来说都是几个实体之间的混合属性,这就造成了如果使用MVC架构时,需要在做查询时,创建大量的Model,造成代码的复杂度,因此建议尽量少用Model,有可能的话尽量使用json。

4.Ajax调用的方式

 
 
 
 
 
 
 
 

would process the following server response for a successful submission:

{       "success":true, // note this is Boolean, not string      "msg":"Consignment updated"    }

and the following server response for a failed submission:

{    "success":false, // note this is Boolean, not string    "msg":"You do not have permission to perform this operation"    }
 
 
 
 
 
@RequestMapping(value="/sys/functiontree",produces="text/plain;charset=UTF-8")
@ResponseBody    public String getTreeData()

第二种解决方案:通过修改XMl配置文件或者而修改源码来实现。

 

参考文章:

 

注意:

我使用的是3.1.2的Spring包,在3.1.2版本中通过配置XML无法解决,只能通过修改源码或者继承类的方式实现。

另外:每个版本的StringHttpMessageConverter的实现方式不一样,注意实现方式。

 
 
 
 
 
 
 
 
 
 
refs属性的理解
 
参考文章:
 
 
 
 
 
 
 
 
var bhcmsController = application.getController('BHCMSController');        bhcmsController.init(self);
会造成在init方法执行两次会有问题,正确的应该是:
if(!Ext.ClassManager.isCreated('MyExt.controller.qxgl.UserController')){//判断controller是否已经加载;                          Ext.require("MyExt.controller.qxgl.UserController", function () {                                var userController = app.getController('qxgl.UserController');                                app.getController('FirstPageController').addTab(record.get('id'),record.get('text'),'qxgl_userlist','true');                            }, self);                    }else{                        app.getController('FirstPageController').addTab(record.get('id'),record.get('text'),'qxgl_userlist','true');                    }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13.grid日期列显示的问题
 
通过renderer属性来将后台传过来的数字时间变成Extjs能够接受的时间
text : '登陆时间',                dataIndex : 'lastLogin',                renderer: function(value){                    return Ext.util.Format.date(new Date(1404098883000),'Y-m-d');                }
 

14.DataGird分页的实现

参考文章:

后台实现时必须的三个参数:page,start,limit

代码实现:

var store = Ext.create('Ext.data.Store', {            id:'simpsonsStore',            autoLoad: false,            fields:[                    { name: 'id', type: 'string' },                    { name: 'userCode',   type: 'string' },                    { name: 'loginState', type: 'string' },                    { name: 'lastLogin', type: 'string' },                    ],            pageSize: 10, // items per page            proxy: {                type: 'ajax',                url: 'test/queryAllUsers.json',  // url that will load data with respect to start and limit params                reader: {                    type: 'json',                    root: 'rows',                    totalProperty: 'total'                }            }        });
Ext.create('Ext.grid.Panel', {            title : '查询结果',            region : 'center',            margin : '5 0 0 0',            store: store,             columns : [ {                text : '用户ID',                dataIndex : 'id'            }, {                text : '用户编码',                dataIndex : 'userCode',                flex : 1            }, {                text : '登陆状态',                dataIndex : 'loginState'            }, {                text : '登陆时间',                dataIndex : 'lastLogin',                renderer: function(value){                    return Ext.util.Format.date(new Date(1404098883000),'Y-m-d');                }            } ],             dockedItems: [{                    xtype: 'pagingtoolbar',                    store: store,   // same store GridPanel is using                    dock: 'bottom',                    displayInfo: true                }],        })
//带参数查询
store.on("beforeload",function(){                Ext.apply(store.proxy.extraParams, {userid:button.up('form').down('textfield[name=id]').getValue(),                    usercode:button.up('form').down('textfield[name=usercode]').getValue()});            });//datagrid查询                        store.load({                params:{                    start:0,                    limit: 10,                }            });

转载于:https://www.cnblogs.com/sdjnzqr/p/3937825.html

你可能感兴趣的文章
[No0000195]NoSQL还是SQL?这一篇讲清楚
查看>>
IOS开发UI篇--UITableView的自定义布局==xib布局
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
查看>>
struts2中<s:form>的应用
查看>>
QML学习笔记之一
查看>>
openoj的一个小比赛(G题解题报告)优先队列
查看>>
7NiuYun云存储UploadPicture
查看>>
Window 的引导过程
查看>>
联想 Thinkpad X230 SLIC 2.1 Marker
查看>>
python scrapy 爬取西刺代理ip(一基础篇)(ubuntu环境下) -赖大大
查看>>
关于翻译app的一些个人化看法分析
查看>>
ELK原理与介绍
查看>>
Java开发知识之JAVA的反射
查看>>
python -m SimpleHTTPServer 80801
查看>>
【WPF】闲着没事,写了个支持数据列表分页的帮助类
查看>>
如何延长IntelliJ IDEA的试用期?
查看>>
python与 Ajax跨域请求
查看>>
CentOS7下安装Docker-Compose No module named 'requests.packages.urllib3'
查看>>