ExtjsMVC开发过程中遇到的具体问题总结

1.登陆相关问题

1.如何在文本框中增加提示信息
             2.如何在文本框中触发回车事件
             3.如何在回车事件中触发按钮的动作
             总结:http://www.cnblogs.com/sdjnzqr/p/3922726.html

2.只读文本框样式设置

参考文章:http://stackoverflow.com/questions/9214297/how-do-i-change-color-of-a-textfield-using-extjs

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

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

4.Ajax调用的方式

http://blog.csdn.net/hrl_100/article/details/5639922
 
5.全局变量的使用
 
 参考:http://phpcode8.com/web/extjs/extjs-global-variable.html
 
6.form提交时返回的json格式

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"
    }
 
7.SpringMVC返回中文String时出现中文乱码
  
   第一种解决方案:

@RequestMapping(value="/sys/functiontree",produces="text/plain;charset=UTF-8")
@ResponseBody
    public String getTreeData()

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

参考文章:

http://www.oschina.net/question/105887_114629?sort=time

http://blog.csdn.net/kissliux/article/details/14053761

注意:

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

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

 
 
7.树的相关问题
  参考文章:
     http://www.cnblogs.com/mrye/archive/2013/05/26/3100431.html
     http://ishowshao.com/blog/2012/08/17/extjs-4-trees/
注意事项:
   1.数的来源依赖于Ext.data.TreeStore,所以一定要定好这个数据源。
   2.定义树节点属性时,一定要的定义的是Id,text,leaf,如果要使用其他的字段来代替,比如想通过name来作为树节点的现实内容,则需要通过column来定义。
 
8.Controller中refs属性的理解
 
参考文章:
    http://www.cnblogs.com/liuqxFuture/archive/2012/11/10/2763764.html
    http://czpae86.iteye.com/blog/1181110
 
9.动态加载controller的问题****重点
 
参考文章:http://www.cnblogs.com/servant/archive/2013/04/01/ExtJs4mvc%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BDController.html
注意事项:
   原文中:
    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‘);
                    }
 
 
 
10.Form布局定义的问题
 
参考文章:http://z-xiaofei168.iteye.com/blog/1136291
 
11.关闭tab页报错的问题
 
错误描述:Error: Cannot read property ‘addCls‘ of null
 
原因:http://blog.csdn.net/lc448986375/article/details/8019649
 
12.如何刷新grid的问题
 
http://blog.csdn.net/lc448986375/article/details/8019649
 
13.grid日期列显示的问题
 
通过renderer属性来将后台传过来的数字时间变成Extjs能够接受的时间
            text : ‘登陆时间‘,
                dataIndex : ‘lastLogin‘,
                renderer: function(value){
                    return Ext.util.Format.date(new Date(1404098883000),‘Y-m-d‘);
                }
 

14.DataGird分页的实现

参考文章:http://www.vipaq.com/Article/View/blog/239.html

后台实现时必须的三个参数: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,
                }
            });
时间: 2024-10-09 07:30:23

ExtjsMVC开发过程中遇到的具体问题总结的相关文章

软件开发过程中的审查 (Review)

http://blog.csdn.net/horkychen/article/details/5035769 软件开发过程中的审查 (Review) 希望别人做些什么->定义出流程 希望别人做出正确的结果->定义出审查制度 软件开发项目中包括很多的审查动作,贯穿于整个开发过程.个人认为审查主要有以下目的: 1.尽早排查出潜在的问题(Potential Risk/Issue) 经过其他人的参与,以不同的视角提出不同的看法,会有类似头脑风暴的效果,集思广议来查找工程师未能注意的问题. 2.保持良好

软件开发过程中如何避免争吵?

软件开发过程中,对一个问题有不同意见是很正常的,不同思想的碰撞可以带来进步,但是如果沟通不当,引发争吵,从而延误项目开发进度,就会得不偿失了. 要做到避免争吵,首先得自我反思,自己是不是哪里做得不对,问题没考虑清楚.问题还没明白就去和别人争,就是你的不对了. 其次,要站在别人的角度先想一想问题.是不是PM有难言之隐,公司的压力过大,不能采纳我的建议? 设计师看问题的角度是不是和我不一样?我的代码编写是否规范,有没有给复审测试人员带来麻烦?项目有没有充分考虑并达到用户的需求?在和别人争论前,必须充

net开发过程中Bin目录net开发过程中Bin目录下面几种文件

.net开发过程中Bin目录下面几种文件格式的解释 在.NET开发中,我们经常会在bin目录下面看到这些类型的文件: .pdb..xsd..vshost.exe..exe..exe.config..vshost.exe.config 项目发布的时候,往往搞不清楚哪些是需要的,那些是不需要的.那么这些格式的文件到底是干什么用的呢? pdb .pdb文件,是VS生成的用于调试的符号文件(program database),保存着调试的信息.在VS的工程属性,C/C++,调试信息格式,设置/Zi,那么

软件开发过程中要主要的问题

结合软件开发生命周期,软件开发过程中应注意的问题如下(个人愚见) 1)明确项目概况,即将项目定位,要结合需求和技术实现,对项目进行准确定位,制定合理的项目开发计划. 2)面对需求变化,需求变化是软件开发过程经常碰到的问题也是致命的问题,排除客户的问题,需求分析要做的足够好,需求分析做好后,最好要客户确认签字. 3)模块划分,把软件系统按照任务需求或者数据模型进行模块划分,提高系统开发进度. 4)编码规范,项目编写代码过程中要有详细的编码规范,如合理的程序文件结构(每个程序文件应由标题.内容.附加

node.js项目开发问题集锦(不定期更新,随时把开发过程中遇到的问题加上)

1.用express开发站点时,怎么定义通用的头部和尾部 方案1:用类似asp时代的include添加,如ejs模板: <% include ../header.ejs %> <h1 class="page-header"> 这里是内容. 注:..表示header.ejs在上一级目录,ejs扩展名可以去掉,直接写:include ../header </h1> <% include ../footer %> 方案2:用类似于MVC的lay

关于web前端开发过程中SEO优化的注意点

SEO优化通俗点说就是为了让网站在各大搜索引擎中更容易的被搜到,即提高搜索排行,从而提高网站流量的一个技术手段 在写web页面的时候,为了让网络爬虫更容易的搜索到页面,需要注意几个点: html语义化 刚接触web前端开发的时候很奇怪,既然html标签可以通过css进行更改它的内置属性,为什么还有这么多的标签存在 <div>,<h1>,<span>,<strong>.... 而现在,随着对前端的不断深入,才逐渐明白它的用处 语义化的html可以让开发者更容易

解决Python开发过程中依赖库打包问题的方法

在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新install各种相关的依赖库,有没有更好的方法来解决Python开发过程中依赖库的打包呢?答案是肯定的. 类似于JavaScript的npm,Python也有它强大的包管理工具--pip,我们可以用pip导出项目中的dependency: 1 $ pip freeze > requirements.txt 然

Hadoop开发过程中所遇到的那些坑

核心内容: 1.Hadoop开发过程中常见问题即解决方案 在Hadoop开发的过程中,我们总是遇到各种各样的问题,今天就整理总结一下: 万能的解决方案:6个检查+具体日志 在Hadoop开发的过程中如果遇到各种异常,首先使用jps命令查看节点的启动是否正常,然后在去查看相关的日志文件,但是在查看相关日志之前,你可以先检查一下面几点: 1.防火墙原因:检查各个节点的防火墙是否关闭成功.(重点是检查NameNode) [root@hadoop11 ~]# service iptables statu

android 开发过程中碰到的 Failed to create the part&#39;s controls 问题

在开发android的过程中,遇到一个很奇怪的问题,出现了“ Failed to create the part's controls” 的错误,查询了N多资料,然后逐条删除代码测试, 后来发现是变量:int lastY=0;出了问题,也计时说,变量里面混合大小写,就会出这一的问题. android 开发过程中碰到的 Failed to create the part's controls 问题