跟我extjs5(38--单个模块的设计[6获得模块列表数据])

时间:2023-02-09 15:02:35

跟我extjs5(38--单个模块的设计[6获得模块列表数据])


        在程序的前一个表以及,据的执行过程。

在菜单中选择 “系统管理”--“模块分组”。

就能够看到下图。在渲染后grid后,会显示数据。


跟我extjs5(38--单个模块的设计[6获得模块列表数据])

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamZvaw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

      
        来看看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里面发送到后台的參数,包含模块名称,取得得起始行,每页的记录数等信息。这些仅仅是最主要的信息,以后复杂了还要增加排序信息、分组信息、筛选信息、导航列表信息。
        以下是server返回的数据:
{
"totalCount" : 8,
"records" : [{
"tf_moduleGroupId" : "10",
"tf_title" : "project管理"
}, {
"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。这样的处理模式也是我这个软件所要尽量达到的,全部的功能都做到能够进行配置,然后再由前台后台协同解释运行来完毕。
        对于一个独立的和其它模块没有关联的模块,这样的解释运行方案是比較简单的。

可是模块有了上下级,有了子模块。父模块。而且模块的层次非常多时候,最后增加了权限,这个解释运行的处理将会非常的复杂。

        我们的目标是最终级字的基础上的信息和现场模块的含义。它可任选地连接多个模块来执行集成查询的多个字段的功能。

这些特征已在我的博客了具体说明,有一个,现在是实现一步步的时间。