JEECG(J2EE Code Generation)?是一款基于代碼生成器的智能開發平臺,采用代碼生成+手工MERGE半智能開發模式, 可以幫助解決Java項目60%的重復工作,讓開發更多關注業務邏輯。既能快速提高開發效率,幫助公司節省人力成本,同時又不失擴展性和靈活性。?
????JEECG宗旨是:簡單功能由代碼生成器生成使用; 復雜業務采用表單自定義,業務流程使用工作流來實現、擴展出任務接口,供開發編寫業務邏輯。 實現了流程任務節點和任務接口的靈活配置,既保證了公司流程的保密行,又減少了開發人員的工作量。?
?
?
JEECG V3.0版本推翻原有SSH2架構,采用SpringMVC+Hibernate+UI快速開發庫 基礎架構,采用面向聲明的開發模式,基于泛型方式編寫極少代碼即可實現復雜的數據展示、數據編輯、表單處理等功能,再配合代碼生成器的使用將JavaEE的開發效率提高6倍以上,可以將代碼減少60%以上。?
- JEECG V3.0版本四大技術點:?1.代碼生成器?2.UI快速開發庫?3.在線流程設計?4.系統日志記錄
- 技術點一:代碼生成器,支持多種數據模型,根據表生成對應的Entity,Service,Dao,Action,JSP等,增刪改查功能生成直接使用
- 技術點二:UI快速開發庫,針對WEB UI進行標準封裝,頁面統一采用UI標簽實現功能:數據datagrid,表單校驗,Popup,Tab等,實現JSP頁面零JS,開發維護非常高效
- 技術點三:在線流程定義,采用開源Activiti流程引擎,實現在線畫流程,自定義表單,表單掛接,業務流轉,流程監控,流程跟蹤,流程委托等
?
新版本特性:?
- JEECG V3.0,經過了專業壓力測試,性能測試,保證后臺數據的準確性和頁面訪問速度
- 支持多種瀏覽器: IE, 火狐, Google 等瀏覽器訪問速度都很快
- 支持數據庫: Mysql,Oracle10g等
- 基礎權限: 用戶,角色,菜單權限,按鈕權限,數據權限
- 智能報表集成: 簡易的圖像報表工具和Excel導入導出
- Web容器測試通過的有Jetty和Tomcat6
- 待推出功能:分布式部署,云計算,移動平臺開發,規則引擎,代碼生成器(eclipse插件)
- 要求JDK1.6+
?
交流群:106259349, 106838471, 289782002?
郵箱:zhangdaiscott@163.com?
聯系人:張代浩
論壇:http://www.jeecg.org/?
源碼下載:http://git.oschina.net/jeecg/jeecg
演示地址:?http://demo.jeecg.org/
網盤(入門視頻):http://www.jeecg.org/forum.php?mod=viewthread&tid=197&extra=page%3D1
?
項目演示:?
?
?
?
?
?
?
?
?
UI快速開發庫演示
?
[1].Datagrid列表頁面代碼
?
?
Html代碼
<%@?page?language="java"?contentType="text/html;?charset=UTF-8"?pageEncoding="UTF-8"%>??<%@include?file="/context/mytags.jsp"%>??<div?class="easyui-layout"?fit="true">????<div?region="center"?style="padding:1px;">????<t:dategrid?name="jeecgDemoList"?title="開發DEMO列表"?actionUrl="jeecgDemoController.do?datagrid"?idField="id"?fit="true">?????<t:dgCol?title="編號"?field="id"?hidden="false"></t:dgCol>?????<t:dgCol?title="用戶名"?field="userName"?query="true"></t:dgCol>?????<t:dgCol?title="電話號碼"?sortable="false"?field="mobilePhone"?width="20"?query="true"></t:dgCol>?????<t:dgCol?title="辦公電話"?field="officePhone"></t:dgCol>?????<t:dgCol?title="郵箱"?field="email"></t:dgCol>?????<t:dgCol?title="年齡"?sortable="true"?field="age"></t:dgCol>?????<t:dgCol?title="工資"??field="sex"></t:dgCol>?????<t:dgCol?title="性別"??field="salary"></t:dgCol>?????<t:dgCol?title="生日"?field="birthday"?formatter="yyyy/MM/dd"></t:dgCol>?????<t:dgCol?title="創建日期"?field="createTime"?formatter="yyyy-MM-dd?hh:mm:ss"></t:dgCol>?????<t:dgCol?title="操作"?field="opt"?width="100"></t:dgCol>?????<t:dgFunOpt?funname="szqm(id)"?title="審核"?/>?????<t:dgDelOpt?title="刪除"?url="jeecgDemoController.do?del&id={id}"?/>?????<t:dgToolBar?title="錄入"?icon="icon-add"></t:dgToolBar>?????<t:dgToolBar?title="編輯"?icon="icon-edit"></t:dgToolBar>????</t:dategrid>????</div>????</div>??<script?type="text/javascript">??????????function?szqm(id)?{ ??????????????????createwindow('審核',?'jeecgDemoController.do?doCheck&id='?+?id); ??????????} ??</script>??
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<div class="easyui-layout" fit="true"><div region="center" style="padding:1px;"><t:dategrid name="jeecgDemoList" title="開發DEMO列表" actionUrl="jeecgDemoController.do?datagrid" idField="id" fit="true"><t:dgCol title="編號" field="id" hidden="false"></t:dgCol><t:dgCol title="用戶名" field="userName" query="true"></t:dgCol><t:dgCol title="電話號碼" sortable="false" field="mobilePhone" width="20" query="true"></t:dgCol><t:dgCol title="辦公電話" field="officePhone"></t:dgCol><t:dgCol title="郵箱" field="email"></t:dgCol><t:dgCol title="年齡" sortable="true" field="age"></t:dgCol><t:dgCol title="工資" field="sex"></t:dgCol><t:dgCol title="性別" field="salary"></t:dgCol><t:dgCol title="生日" field="birthday" formatter="yyyy/MM/dd"></t:dgCol><t:dgCol title="創建日期" field="createTime" formatter="yyyy-MM-dd hh:mm:ss"></t:dgCol><t:dgCol title="操作" field="opt" width="100"></t:dgCol><t:dgFunOpt funname="szqm(id)" title="審核" /><t:dgDelOpt title="刪除" url="jeecgDemoController.do?del&id={id}" /><t:dgToolBar title="錄入" icon="icon-add"></t:dgToolBar><t:dgToolBar title="編輯" icon="icon-edit"></t:dgToolBar></t:dategrid></div></div>
<script type="text/javascript">function szqm(id) {createwindow('審核', 'jeecgDemoController.do?doCheck&id=' + id);}
</script>
?
?
[2],Form表單頁面代碼
?
Java代碼
<%@?page?language="java"?import="java.util.*"?contentType="text/html;?charset=UTF-8"?pageEncoding="UTF-8"%> ??<%@include?file="/context/mytags.jsp"%> ??<!DOCTYPE?html> ??<html> ??<head> ????<title>開發DEMO</title> ????<t:base?type="jquery,easyui,tools"></t:base> ??</head> ??<body?style="overflow-y:?hidden"?scroll="no"> ????<t:formvalid?formid="formobj"?dialog="true"?usePlugin="password"?layout="table"?action="jeecgDemoController.do?save"> ??????????????????????????<input?id="id"?name="id"?type="hidden"?value="${jgDemo.id?}"> ??????????????????????????<table?style="width:?600px;"?cellpadding="0"?cellspacing="1"?class="formtable"> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"?width="15%"?nowrap> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????用戶名: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"?width="85%"> ??????????????????????????????????????????????????<c:if?test="${jgDemo.id!=null?}"> ???????????????????????????????????????????????${jgDemo.userName?} ???????????????????????????????????????????????</c:if> ??????????????????????????????????????????????????<c:if?test="${jgDemo.id==null?}"> ??????????????????????????????????????????????????????????<input?id="userName"?class="inputxt"?name="userName"??????????????????????????????????????????????????????????????????value="${jgDemo.userName?}"?datatype="s2-10"> ??????????????????????????????????????????????????????????<span?class="Validform_checktip">用戶名范圍在2~10位字符</span> ??????????????????????????????????????????????????</c:if> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"?nowrap> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????手機號碼: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"> ??????????????????????????????????????????????????<input?class="inputxt"?name="mobilePhone"??????????????????????????????????????????????????????????value="${jgDemo.mobilePhone}"?datatype="m"?errormsg="手機號碼不正確!"??????????????????????????????????????????????????????????ignore="ignore"> ??????????????????????????????????????????????????<span?class="Validform_checktip"></span> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????辦公電話: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"> ??????????????????????????????????????????????????<input?class="inputxt"?name="officePhone"??????????????????????????????????????????????????????????value="${jgDemo.officePhone}"?datatype="n"??????????????????????????????????????????????????????????errormsg="辦公室電話不正確!"?ignore="ignore"> ??????????????????????????????????????????????????<span?class="Validform_checktip"></span> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????常用郵箱: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"> ??????????????????????????????????????????????????<input?class="inputxt"?name="email"?value="${jgDemo.email}"??????????????????????????????????????????????????????????datatype="e"?errormsg="郵箱格式不正確!"?ignore="ignore"> ??????????????????????????????????????????????????<span?class="Validform_checktip"></span> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????年齡: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"> ??????????????????????????????????????????????????<input?class="inputxt"?name="age"?value="${jgDemo.age}"??????????????????????????????????????????????????????????datatype="n"?errormsg="年齡格式不正確!"?ignore="ignore"> ??????????????????????????????????????????????????<span?class="Validform_checktip"></span> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????工資: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"> ??????????????????????????????????????????????????<input?class="inputxt"?name="salary"?value="${jgDemo.salary}"??????????????????????????????????????????????????????????datatype="d"?errormsg="工資格式不正確!"?ignore="ignore"> ??????????????????????????????????????????????????<span?class="Validform_checktip"></span> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????生日: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"> ??????????????????????????????????????????????????<input?name="birthday"?class="easyui-datebox"??????????????????????????????????????????????????????????value="<fmt:formatDate?value='${jgDemo.birthday?}'?type="date"/>"??????????????????????????????????????????????????????????errormsg="生日格式不正確!"?ignore="ignore"> ??????????????????????????????????????????????????<span?class="Validform_checktip"></span> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????創建日期: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ??????????????????????????????????????????<td?class="value"> ??????????????????????????????????????????????????<input?name="createTime"?class="easyui-datetimebox"??????????????????????????????????????????????????????????value="${jgDemo.createTime}"??????????????????????????????????????????????????????????errormsg="日期格式不正確!"?ignore="ignore"> ??????????????????????????????????????????????????<span?class="Validform_checktip"></span> ??????????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ??????????????????????????????????????????<td?align="right"> ??????????????????????????????????????????????????<label?class="Validform_label"> ??????????????????????????????????????????????????????????性別: ??????????????????????????????????????????????????</label> ??????????????????????????????????????????</td> ???????????????????????????????????????????<td?class="value"> ????????????????????????????????????????????<t:comboBox?url="jeecgDemoController.do?combox"?name="sex"?text="userName"?id="id"></t:comboBox> ????????????????????????????????????????<span?class="Validform_checktip"></span> ???????????????????????????????????????</td> ??????????????????????????????????</tr> ??????????????????????????????????<tr> ???????????????????????????????<td?align="right"> ????????????????????????????????<label?class="Validform_label"> ?????????????????????????????????部門: ????????????????????????????????</label> ???????????????????????????????</td> ???????????????????????????????<td?class="value"> ????????????????????????????????<select?id="depId"??name="depId"??datatype="*"> ?????????????????????????????????<c:forEach?items="${departList}"?var="depart"> ??????????????????????????????????<option?value="${depart.id?}"?<c:if?test="${depart.id==jgDemo.depId}">selected="selected"</c:if>> ???????????????????????????????????${depart.departname} ??????????????????????????????????</option> ?????????????????????????????????</c:forEach> ????????????????????????????????</select> ????????????????????????????????<span?class="Validform_checktip">請選擇部門</span> ???????????????????????????????</td> ??????????????????????????????</tr> ??????????????????????????</table> ??????????????????</t:formvalid> ??</body>??
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<!DOCTYPE html>
<html>
<head><title>開發DEMO</title><t:base type="jquery,easyui,tools"></t:base>
</head>
<body style="overflow-y: hidden" scroll="no"><t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="jeecgDemoController.do?save"><input id="id" name="id" type="hidden" value="${jgDemo.id }"><table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable"><tr><td align="right" width="15%" nowrap><label class="Validform_label">用戶名:</label></td><td class="value" width="85%"><c:if test="${jgDemo.id!=null }">${jgDemo.userName }</c:if><c:if test="${jgDemo.id==null }"><input id="userName" class="inputxt" name="userName"value="${jgDemo.userName }" datatype="s2-10"><span class="Validform_checktip">用戶名范圍在2~10位字符</span></c:if></td></tr><tr><td align="right" nowrap><label class="Validform_label">手機號碼:</label></td><td class="value"><input class="inputxt" name="mobilePhone"value="${jgDemo.mobilePhone}" datatype="m" errormsg="手機號碼不正確!"ignore="ignore"><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">辦公電話:</label></td><td class="value"><input class="inputxt" name="officePhone"value="${jgDemo.officePhone}" datatype="n"errormsg="辦公室電話不正確!" ignore="ignore"><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">常用郵箱:</label></td><td class="value"><input class="inputxt" name="email" value="${jgDemo.email}"datatype="e" errormsg="郵箱格式不正確!" ignore="ignore"><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">年齡:</label></td><td class="value"><input class="inputxt" name="age" value="${jgDemo.age}"datatype="n" errormsg="年齡格式不正確!" ignore="ignore"><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">工資:</label></td><td class="value"><input class="inputxt" name="salary" value="${jgDemo.salary}"datatype="d" errormsg="工資格式不正確!" ignore="ignore"><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">生日:</label></td><td class="value"><input name="birthday" class="easyui-datebox"value="<fmt:formatDate value='${jgDemo.birthday }' type="date"/>"errormsg="生日格式不正確!" ignore="ignore"><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">創建日期:</label></td><td class="value"><input name="createTime" class="easyui-datetimebox"value="${jgDemo.createTime}"errormsg="日期格式不正確!" ignore="ignore"><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">性別:</label></td><td class="value"><t:comboBox url="jeecgDemoController.do?combox" name="sex" text="userName" id="id"></t:comboBox><span class="Validform_checktip"></span></td></tr><tr><td align="right"><label class="Validform_label">部門:</label></td><td class="value"><select id="depId" name="depId" datatype="*"><c:forEach items="${departList}" var="depart"><option value="${depart.id }" <c:if test="${depart.id==jgDemo.depId}">selected="selected"</c:if>>${depart.departname}</option></c:forEach></select><span class="Validform_checktip">請選擇部門</span></td></tr></table></t:formvalid>
</body>
?
總結
以上是生活随笔為你收集整理的springmvc+activiti 完美整合- 流程在线设计+代码生成器+UI快速开发库,提高一半的开发效率的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。