一.采用技术:mvc3,spring,hibernate

前台脚本jQuery LigerUI 参考http://www.ligerui.com/

后台核心技术参考:mvc3,spring,hibernate
http://www.cnblogs.com/goodhelper/archive/2009/11/20/springnet_index.html

拦截器,异常的统一处理:
http://www.cnblogs.com/legendxian/archive/2010/01/25/1655551.html

二.现在解决方案的项目说明:

QzgfFrame.MVC3是web主项目

QzgfFrame.MVC3.Tests项目测试

QzgfFrame.System(系统管理模块):以后按功能模板划分框架,QzgfFrame.Archives为档案管理模块

QzgfFrame.Utility核心工具类

QzgfFrame.Controllers 所有功能模块的控制器集中(避免类库重复依赖问题)

三.关键文件说明:

1.web.config中databaseSettings结点为数据库配置连接字符串,hbmSettings结点为模型.hbm.xml加载配置.

2. 其它资源文件说明
<resource uri="~/Config/application.xml" /> spring的核心配置,每次版提交,不要提交该文件,里有连接数据源等信息,mssql,mysql,oracle.
<resource uri="~/Config/application-respository.xml" />操作数据库基类的配置respository,对应模型中的Models
<resource uri="~/Config/application-domian.xml" />主要业务逻辑的功能实现对应模型中的Domain
<resource uri="~/Config/application-control.xml" />主要控制器的相关配置对应模型中的Controllers
<resource uri="~/Config/views.xml" />配置Grid表格数据主键
<resource uri="~/Config/application-aop.xml" />spring aop拦截器
<resource uri="~/Config/application-scheduling.xml" />spring scheduling定时器功能
<resource uri="~/Config/application-ws.xml" />spring webservices服务
============以下配置文件未启用,仅作为配置参考================
<resource uri="~/Config/hibernate.cfg.xml" />hibernate.cfg.xml
<resource uri="~/Config/log4net.xml" />log4net.xml

3.视图相关(Views框架暂不完善只能进行分块处理)

在"QzgfFrame.MVC3"项目中Views为Home首页框架设计存放路径

Areas为具体功能模块视图存放的位置,如系统管理可增加areas为System,档案管理则为Archives.

4.页面脚本相关

Content/Lib为项目要使用的脚本,可以根据需求增加相关脚本代码

Lib/为核心脚本库,请不要随意修改.

5.业务代码框架,以系统管理中菜单管理为例

在QzgfFrame.System中增加功能模块菜单管理MenuManger.

Domain业务处理(包括接口与实现)

Models:model类与hbm.xml文件

6核心代码工具类库QzgfFrame.Utility

现在已经整理代码存放在Core中,其他暂未整合.

7核心控制器结构
在"QzgfFrame.Controllers"项目中
CommonSupport为基本支持类包括过滤器等.
文件结构划分:系统模块-->功能模块-->Controller类

8.BaseController中增加currentUser类存储用户信息和权限,继承该类会包函权限过滤。

以菜单为例,在application-control.xml中修改为

    <!--菜单-->
    <object id="menuController"  parent="baseController" type="QzgfFrame.Controllers.System.MenuManger.MenuController, QzgfFrame.Controllers" singleton="false">
        <property name="menuFacade" ref="menuFacade"/>
        <property name="menuFacadeEx" ref="menuFacadeEx"/>
    </object>

9.菜单管理中(以下括号内的为actionName包函字符),

“退网”(netout),“导入”(import),“停用”(usestop),“启用”(usestart),“修改”(modify),“删除”(delete),“增加”(add),“列表”(index)等按钮以位形式存储无需单独立写入菜表中。

10.为区分“修改”,”增加“将原来结构“控制器”中的AcceptVerbs(HttpVerbs.Get)Edit方法拆分为[AcceptVerbs(HttpVerbs.Get)]add,[AcceptVerbs(HttpVerbs.Get)]Modify

11.按钮事件脚本

        function f_btnClick(item) {
            switch (item.id) {
                case "add":
                    f_add();
                    break;
                case "modify":
                    f_modify();
                    break;
                case "delete":
                    f_delete();
                    break;
                case "usestart":
                    f_usestate("1");
                    break;
                case "usestop":
                    f_usestate("2");
                    break;    
                 default:
                    $.ligerDialog.alert('暂未实现!');
                    break;
            }
        }

 

 

初始化数据信息
====================菜单数据==================
INSERT INTO system_menu VALUES ('0', 'Root', ' ', '', '1', '-1', '1', null);
INSERT INTO system_menu VALUES ('2', '菜单管理', ' ', '/system/menu/index', '3', '4', '1', null);
INSERT INTO system_menu VALUES ('20111101155107838655', '用户管理', ' ', '/system/user/index', '2', '4', '1', null);
INSERT INTO system_menu VALUES ('20111101155132986948', '机构管理', ' ', '/system/department/index', '1', '4', '1', '/system/department/index');
INSERT INTO system_menu VALUES ('4', '系统管理', ' ', null, '9999', '0', '1', null);
INSERT INTO system_menu VALUES ('5', '角色管理', ' ', '/system/role/index', '5', '4', '1', null);
INSERT INTO system_menu VALUES ('6', '菜单字段', ' ', '/system/menufield/index', '4', '4', '1', null);
INSERT INTO system_menu VALUES ('b1', '增加', ' /Lib/ligerUI/skins/icons/add.gif', 'add', '2', '5', '0', null);
INSERT INTO system_menu VALUES ('b2', '删除', '/Lib/ligerUI/skins/icons/delete.gif', 'delete', '4', '5', '0', null);
INSERT INTO `system_menu` VALUES ('b3', '修改', ' /Lib/ligerUI/skins/icons/modify.gif', 'modify', '8', '5', '0', null);
INSERT INTO `system_menu` VALUES ('b4', '启用', '/Lib/ligerUI/skins/icons/delete.gif', 'usestart', '16', '5', '0', null);
INSERT INTO `system_menu` VALUES ('b5', '停用', '/Lib/ligerUI/skins/icons/delete.gif', 'usestop', '32', '5', '0', null);

====================系统用户=======

insert into system_user values ('1','admin','','','21232F297A57A5A743894AE4A801FC3','1','','1',sysdate,'1');

============================部门菜单================
INSERT INTO system_department VALUES ('0', 'Root', 'Root', 'Root', 'Root', '-1', 'Root', '1', '',sysdate);

drop table System_User cascade constraints;

/*==============================================================*/
/* Table: System_User                                           */
/*==============================================================*/
create table System_User  (
   id                   CHAR(20)                        not null,
   username             NVARCHAR2(100),
   tel                  NVARCHAR2(50),
   email                NVARCHAR2(100),
   password             NVARCHAR2(100),
   departmentid         CHAR(20),
   remark               NVARCHAR2(200),
   createman            CHAR(20),
   createdate           TIMESTAMP,
   state                CHAR(2),
   constraint PK_SYSTEM_USER primary key (id)
);

comment on column System_User.id is
'主键';

comment on column System_User.username is
'用户名';

comment on column System_User.tel is
'电话';

comment on column System_User.email is
'邮箱';

comment on column System_User.password is
'密码';

comment on column System_User.departmentid is
'部门id';

comment on column System_User.remark is
'备注';

comment on column System_User.createman is
'创建人编号';

comment on column System_User.createdate is
'创建时间';

comment on column System_User.state is
'0:删除,1:正常,2.停用';

 

Last edited Dec 8, 2011 at 7:13 AM by fjfdszj, version 15

Comments

No comments yet.