跟我一起学extjs5(38--单个模块的设计[6取得模块列表数据])
2014-10-13 09:45
295 查看
跟我一起学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(37--单个模块的设计[5取得模块列表数据])
- 跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])
- 跟我extjs5(38--单个模块的设计[6获得模块列表数据])
- 跟我一起学extjs5(35--单个模块的设计[3根据类的标注自动生成数据])
- 跟我一起学extjs5(39--单个模块的设计[7数据的增加修改删除])
- 跟我一起学extjs5(36--单个模块的设计[4根据菜单建立相应的模块])
- 跟我一起学extjs5(34--单个模块的设计[2建立表单表bean])
- 跟我一起学extjs5(42--单个模块的数据新增方式)
- 跟我一起学extjs5(33--单个模块的设计[1建立表和bean])
- 跟我一起学extjs5(42--单个模块的数据新增方式)
- 跟我一起学extjs5(12--模块界面的总体设计)
- 跟我一起学extjs5(22--模块Form的自定义的设计)
- 跟我一起学extjs5(25--模块Form的自定义的设计[3])
- 跟我一起学extjs5(25--模块Form的自己定义的设计[3])
- 跟我一起学extjs5(23--模块Form的自定义的设计[1])
- 跟我一起学extjs5(22--模块Form的自己定义的设计)
- 跟我一起学extjs5(31--加入模块和菜单定义[4前台通过ajax来调用数据与展示])
- 跟我一起学extjs5(30--加入模块和菜单定义[3后台系统数据的组织和生成])
- 跟我一起学extjs5(11--自己定义模块的设计)
- 跟我一起学extjs5(24--模块Form的自定义的设计[2])