首页 > 代码库 > 跟我一起学extjs5(38--单个模块的设计[6取得模块列表数据])
跟我一起学extjs5(38--单个模块的设计[6取得模块列表数据])
跟我一起学extjs5(38--单个模块的设计[6取得模块列表数据])
上一节中做好了前后台的程序,现在来看看取得数据的运行过程。在菜单中选择 “系统管理”--“模块分组”。就可以看到下图,在渲染后grid后,会显示数据。
来看看ajax取得数据的url和数据。
url的信息:
Remote Address:[::1]:8888 Request URL:http://localhost:8888/app/rest/module/fetchdata.do?_dc=1413113401477&moduleName=_ModuleGroup&page=1&start=0&limit=20 Request Method:GET Status Code:200 OK
Query String Parametersview sourceview URL encoded _dc:1413113401477 moduleName:_ModuleGroup page:1 start:0 limit:20
上面就是url里面发送到后台的参数,包括模块名称,取得得起始行,每页的记录数等信息。这些只是最基本的信息,以后复杂了还要加入排序信息、分组信息、筛选信息、导航列表信息。
下面是服务器返回的数据:
{ "totalCount" : 8, "records" : [{ "tf_moduleGroupId" : "10", "tf_title" : "工程管理" }, { "tf_moduleGroupId" : "20", "tf_title" : "合同管理" }, { "tf_moduleGroupId" : "30", "tf_title" : "资金管理" }, { "tf_moduleGroupId" : "80", "tf_title" : "编码设置" }, { "tf_moduleGroupId" : "90", "tf_title" : "系统设置" }, { "tf_moduleGroupId" : "94", "tf_title" : "文件资料汇编" }, { "tf_moduleGroupId" : "95", "tf_title" : "附件管理" }, { "tf_moduleGroupId" : "99", "tf_title" : "系统模块" }] }
totalCount 表示总数,records是数组,返回了所要取得的那一页数据。
后台取得数据的sql语句:先计算满足当前条件的总记录数,再取得分页数据
Hibernate: select count(*) from _ModuleGroup _t9901 Hibernate: select top 8 _t9901.tf_moduleGroupId as tf_moduleGroupId , _t9901.tf_title as tf_title , _t9901.tf_description as tf_description , _t9901.tf_iconURL as tf_iconURL , _t9901.tf_remark as tf_remark from _ModuleGroup _t9901 order by tf_moduleGroupId
至此grid取得数据的功能就完成了。大家也看到了,所有的模块都是使用统一函数来取得数据,并不是一个模块就要建立一个Controller,一个Service,一个DAO。这种处理模式也是我这个软件所要尽量达到的,所有的功能都做到可以进行配置,然后再由前台后台协同解释执行来完成。
对于一个独立的和其他模块没有关联的模块,这种解释执行方案是比较简单的。但是模块有了上下级,有了子模块,父模块,并且模块的层次很多时候,最后加入了权限,这个解释执行的处理将会非常的复杂。
最终级的目标就是要根据模块的信息和字段的字义,可以任选若干个有关联的模块的若干个字段来进行综合查询的功能。以上这些功能已经在我的另一个博客里有详细的说明,现在正是一步步实现的时候。
跟我一起学extjs5(38--单个模块的设计[6取得模块列表数据])
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。