最近公司让学习JEECG开发平台,刚接触这个平台就喜欢上了,现在接触jeecg差不多有两个礼拜的时间了,下面说一下我对jeecg的理解以及一些简单的代码剖析,还请大神们在此指点一二。
本人邮箱: 229714871@qq.com 欢迎一起来学习交流。
废话不多说,直接进入正题:
涉及到的技术
jeecg是基于Spring MVC+hibernate+UI快速开发库+Spring JDBC+hibernates图形报表+Jquery+Ehcache架构的基础上开发出来的一个可以进行二次开发的平台。
主要功能
-【1】代码生成器:
–生成规范的后台代码+统一风格的前台页面+表单校验。
–页面校验自动生成
–支持主流数据库
–代码生成包括jsp页面,增删改查可以直接配置使用
-【2】查询条件过滤器
–页面加查询条件,只需配置页面对应的查询属性,后台不需要写任何逻辑判断,JEECG查询过滤器机制会自动追加查询条件至HQL
-【3】UI快速开发库
–UI快速开发库,针对WEB UI进行标准封装,页面统一采用UI标签实现功能:数据datagrid、表单校验、Popup、Tab、选择器、自动补全功能等,实现JSP页面零JS,开发维护非常高效
-【4】可以在线的实现各种流程
-【5】表单form组件中可以无需手动添加Check约束,主流的各项都已在生成代码的时候自动加入
-【6】权限问题也可以根据用户调整(这点十分方便
-【7】自定义标签缓存机制(分为永久缓存和临时缓存)
-【8】MiniDao数据持久层
–O/R mapping不用设置xml,零配置便于维护
– 不需要了解JDBC的知识
– SQL语句和java代码的分离
–可以自动生成SQL语句
–接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过AOP自动生成实现类
–支持自动事务处理和手动事务处理
–支持与hibernate轻量级无缝集成
–MiniDao吸收了Hibernate+mybatis的优势,支持实体维护和SQL分离
–SQL支持脚本语言
代码生成
从http://www.jeecg.org/中
导入你的开发平台(Eclipse or MyEclipse)
配置你的开发环境:
http://www.jeecg.org/forum.php?mod=viewthread&tid=2537&extra=page%3D1
接下来,运行jeecg开发平台(系统默认打开的路径)
在地址栏输入:http://localhost:8080/jeecg/
登录系统
代码生成(此处略,文档中有,可以自行查看)
http://www.jeecg.org/forum.php?mod=viewthread&tid=2764&extra=page%3D1
代码剖析(重要)
前面说了,系统默认打开的页面为:
<welcome-file-list>
<welcome-file>/webpage/login/login.jsp</welcome-file>
</welcome-file-list>
logn.jsp的配置为:
<form name="formLogin" id="formLogin" action="loginController.do?login" check="loginController.do?checkuser" method="post">
这里会有两个.do的配置,实际上plug-in/login/js/login.js中的的submit函数,实际上你登陆时,点击“登陆”按钮后,先loginController.do?checkuser操作验证用户名密码,然后打开登陆成功页面loginController.do?login
//登录处理函数
function Login(orgId) {
setCookie();
var actionurl=$('form').attr('action');//提交路径
var checkurl=$('form').attr('check');//验证路径
var formData = new Object();
var data=$(":input").each(function() {
formData[this.name] =$("#"+this.name ).val();
});
formData['orgId'] = orgId ? orgId : "";
formData['langCode']=$("#langCode").val();
formData[