JEECG v3.0.beta发布,基于代码生成器的智能开发平台
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
邮箱:[email protected]
联系人:张代浩
论坛:http://www.jeecg.org/
下载地址:http://code.google.com/p/jeecg/downloads/list
网盘(视频+源码):http://pan.baidu.com/share/link?shareid=169771&uk=2668473880
项目演示:
UI快速开发库演示
[1].Datagrid列表页面代码
- <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
- <%@includefile="/context/mytags.jsp"%>
- <divclass="easyui-layout"fit="true">
- <divregion="center"style="padding:1px;">
- <t:dategridname="jeecgDemoList"title="开发DEMO列表"actionUrl="jeecgDemoController.do?datagrid"idField="id"fit="true">
- <t:dgColtitle="编号"field="id"hidden="false"></t:dgCol>
- <t:dgColtitle="用户名"field="userName"query="true"></t:dgCol>
- <t:dgColtitle="电话号码"sortable="false"field="mobilePhone"width="20"query="true"></t:dgCol>
- <t:dgColtitle="办公电话"field="officePhone"></t:dgCol>
- <t:dgColtitle="邮箱"field="email"></t:dgCol>
- <t:dgColtitle="年龄"sortable="true"field="age"></t:dgCol>
- <t:dgColtitle="工资"field="sex"></t:dgCol>
- <t:dgColtitle="性别"field="salary"></t:dgCol>
- <t:dgColtitle="生日"field="birthday"formatter="yyyy/MM/dd"></t:dgCol>
- <t:dgColtitle="创建日期"field="createTime"formatter="yyyy-MM-ddhh:mm:ss"></t:dgCol>
- <t:dgColtitle="操作"field="opt"width="100"></t:dgCol>
- <t:dgFunOptfunname="szqm(id)"title="审核"/>
- <t:dgDelOpttitle="删除"url="jeecgDemoController.do?del&id={id}"/>
- <t:dgToolBartitle="录入"icon="icon-add"></t:dgToolBar>
- <t:dgToolBartitle="编辑"icon="icon-edit"></t:dgToolBar>
- </t:dategrid>
- </div>
- </div>
- <scripttype="text/javascript">
- functionszqm(id){
- createwindow('审核','jeecgDemoController.do?doCheck&id='+id);
- }
- </script>
[2],Form表单页面代码
- <%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
- <%@includefile="/context/mytags.jsp"%>
- <!DOCTYPEhtml>
- <html>
- <head>
- <title>开发DEMO</title>
- <t:basetype="jquery,easyui,tools"></t:base>
- </head>
- <bodystyle="overflow-y:hidden"scroll="no">
- <t:formvalidformid="formobj"dialog="true"usePlugin="password"layout="table"action="jeecgDemoController.do?save">
- <inputid="id"name="id"type="hidden"value="${jgDemo.id}">
- <tablestyle="width:600px;"cellpadding="0"cellspacing="1"class="formtable">
- <tr>
- <tdalign="right"width="15%"nowrap>
- <labelclass="Validform_label">
- 用户名:
- </label>
- </td>
- <tdclass="value"width="85%">
- <c:iftest="${jgDemo.id!=null}">
- ${jgDemo.userName}
- </c:if>
- <c:iftest="${jgDemo.id==null}">
- <inputid="userName"class="inputxt"name="userName"
- value="${jgDemo.userName}"datatype="s2-10">
- <spanclass="Validform_checktip">用户名范围在2~10位字符</span>
- </c:if>
- </td>
- </tr>
- <tr>
- <tdalign="right"nowrap>
- <labelclass="Validform_label">
- 手机号码:
- </label>
- </td>
- <tdclass="value">
- <inputclass="inputxt"name="mobilePhone"
- value="${jgDemo.mobilePhone}"datatype="m"errormsg="手机号码不正确!"
- ignore="ignore">
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 办公电话:
- </label>
- </td>
- <tdclass="value">
- <inputclass="inputxt"name="officePhone"
- value="${jgDemo.officePhone}"datatype="n"
- errormsg="办公室电话不正确!"ignore="ignore">
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 常用邮箱:
- </label>
- </td>
- <tdclass="value">
- <inputclass="inputxt"name="email"value="${jgDemo.email}"
- datatype="e"errormsg="邮箱格式不正确!"ignore="ignore">
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 年龄:
- </label>
- </td>
- <tdclass="value">
- <inputclass="inputxt"name="age"value="${jgDemo.age}"
- datatype="n"errormsg="年龄格式不正确!"ignore="ignore">
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 工资:
- </label>
- </td>
- <tdclass="value">
- <inputclass="inputxt"name="salary"value="${jgDemo.salary}"
- datatype="d"errormsg="工资格式不正确!"ignore="ignore">
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 生日:
- </label>
- </td>
- <tdclass="value">
- <inputname="birthday"class="easyui-datebox"
- value="<fmt:formatDatevalue='${jgDemo.birthday}'type="date"/>"
- errormsg="生日格式不正确!"ignore="ignore">
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 创建日期:
- </label>
- </td>
- <tdclass="value">
- <inputname="createTime"class="easyui-datetimebox"
- value="${jgDemo.createTime}"
- errormsg="日期格式不正确!"ignore="ignore">
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 性别:
- </label>
- </td>
- <tdclass="value">
- <t:comboBoxurl="jeecgDemoController.do?combox"name="sex"text="userName"id="id"></t:comboBox>
- <spanclass="Validform_checktip"></span>
- </td>
- </tr>
- <tr>
- <tdalign="right">
- <labelclass="Validform_label">
- 部门:
- </label>
- </td>
- <tdclass="value">
- <selectid="depId"name="depId"datatype="*">
- <c:forEachitems="${departList}"var="depart">
- <optionvalue="${depart.id}"<c:iftest="${depart.id==jgDemo.depId}">selected="selected"</c:if>>
- ${depart.departname}
- </option>
- </c:forEach>
- </select>
- <spanclass="Validform_checktip">请选择部门</span>
- </td>
- </tr>
- </table>
- </t:formvalid>
- </body>