Jeasyframe(以下简称Jef),Jef的代码框架主要由三部分组成,基础框架底层后台,工作流扩展后台,前台代码.
1.基础框架底层项目为 gmms_system
2.工作流扩展后台项目为 fy_flow_system
3.前台代码包括action层项目为 gmms_web
请不要在意项目的名字到底为什么叫这些,你不喜欢可以自己改掉.
先来介绍基础框架底层代码 gmms_system
dao_src为dao层(数据层)源码包,存储基础框架的dao层接口与dao层实现类.(一般情况通过架构这一层基本无代码.)
service_src为service层(逻辑层)源码包,存储基础框架的service层接口与service层实现类.(基本的后台逻辑代码都存储在这个层.)
model_src为实体类源码包.存储基础框架的实体类java文件和hibernate配置文件.
util_src为工具类源码包.下面介绍几个主要的工具类.
ArithUtil 为精确加减乘除计算工具类.
ConvertMoneyToUppercase为人民币小写转大写工具类.
MD5 MD5加密工具类.
PinyinUtil 汉字转拼音工具类
JeasyframeSQLServerDialect 重写SQLSERVER的hibernate方言工具类.
下面介绍一下工作流扩展后台代码 fy_flow_system
其实这个工作流不建议大家去改动,只要知道怎么用就可以了.这个扩展项目同时也是为了展现大家怎么在Jef的基础上进行扩展开发.在之后的博文中会详细讲解Jef中简易工作流的使用.
src为源代码源码包,存储java文件,config为配置文件存放源码包,存放hibernate和spring配置文件.
再来说下重头戏,gmms_web
其实在web开发中,往往大多数工作都是集中在js与jsp的编写中,java代码除了逻辑层无非就是数据的传递过程,用户体验都需要用js来实现.
gmms_web中包含src,config,tag,flowsrc四个源码包.
src为基础框架web层源码包,其中主要为struts2的action类与配置文件.
config为spring,struts,hibernate,jdbc及自定义的配置文件.
tag为分页标签工具包,一般不用管.
flowsrc为工作流web层源码包(其他扩展项目也跟工作流项目一样需要在这里创建一个源码包).
在src中,
com.djzhou.gmms.base.action中的BaseAction为web层父类.所有的struts2的Action都必须继承该类,并可以使用其中的资源.
com.djzhou.gmms.util.filter中的SessionFilter为Session过滤器,Session过期后直接打回登陆页.
com.djzhou.gmms.util.interceptor中的SessionInterceptor为Session拦截器.
com.djzhou.gmms.util.listener中的StaticListener为项目启动监听器.
在config中,
spring,hibernate,struts2,log4j,jdbc配置文件就不多赘述了.
说下config.properties,这里有个PROJECT_MODEL属性,这个属性为develop时,此时项目为开发模式,在基础框架中例如菜单,角色等敏感信息时,在非开发模式(即不为develop时)下,将不可修改全部信息,同时你也可以利用这一思想去开发超级管理员功能与普通管理员功能.
另外这里需要提一嘴,在Jef中,因为使用struts-spring插件,所有的action类是可以不用做spring注入的,只要你取得service名字与spring配置文件中的service名字相同就可以直接使用.无需再将service一个一个的注入到action中,也不用写任何注解.
下面说下页面:页面就通体都用红色加粗字了.因为比较重要.
页面即WebRoot下的文件.
主要的文件夹有js,根目录下的jsp以及WEB-INF下的pages下的文件.
1.根目录的主要文件
head.jsp
主页需要引用的头文件,里面有很多公共方法,类似父类.目前有两个页使用该jsp,index.jsp(时尚风格的主页),main_info.jsp(时尚风格的内部主页),index_easy.jsp(简约风格的主页),index_easy_main.jsp(简约风格的内部主页).
上面一句话已经介绍了根目录下的主要文件.
2.WEB-INF下的文件.
elfuns-tags.tld 为字符串连接的EL表达式扩展方法.
gmms-tags.tld 分页标签扩展方法
pages下为基础框架各模块jsp
flow下为工作流各模块jsp.
(开发扩展项目时也需要在这里创建你自己的文件夹.)
pages下的head.jsp为内页引用页,所有内页必须引用该页.
script.jsp为js与css引用页.
其余文件夹例如role,roleauthority等就是基础框架各模块的jsp存储文件夹.
3.js下的文件.
这个应该最难懂的地方了.
common.js为jef框架基础js,内含表单验证方法.
jefActionRow.js为jef表格控件.
jefBoxPager.js时尚模块中的方块插件(时尚首页中的待办事项,今日短消息,今日动态)
jefEasyBoxPager.js简约模块中的方块插件(简约首页中的待办事项,今日短消息,今日动态)
jquery-1.7.2.min.js核心jquery
nfpDrag.js 排序插件(菜单排序中使用到了,可以在那里看到调用方法).
其他文件夹都是使用的第三方组件,可以自己百度,有的已经改了源码,修正了组件自身的BUG.
好了,Jef的基础文件部分就介绍到这里,下一讲将介绍软件的操作详情.