工作中第一次用jeecg开发阶段总结

17年应届毕业生,java小白一个,第一次写博客,我不是一个擅长写作和表达知识的人,但是想通过写博客来锻炼自己,同时也把工作中遇到的问题和解决办法与大家分享,共同学习共同进步.

最近换工作了开始接触duubo和redis,zookeeper以及jeecg.今天主要分享下在我初次使用jeecg时遇到的问题和解决的办法.

公司的项目是以SpringMVC+Hibernate+Duubo为基础框架,数据库是MySql,前台用到了Easyui+jeecg(我不知道这样说准不准确),首先声明一下,每个公司对通用的框架都会有一定的改写和自己封装的方法,以下所述的所有问题和解决办法都是在公司的项目中遇到的.

问题1:

当数据库表中没有id这个字段的时候,在加载数据表格和其它操作时需要对表中的主键进行下重定义,例如,我有一张用户表,4个属性分别是UserID(主键),UserName,UserAge,isEditor(不可修改_0,可修改_1")我主键就叫UserID,就不叫id,然后Hibernate的映射表,你在加载数据表格应该是这样的

<t:dgCol title="用户ID" field="UserID" width="120"></t:dgCol>

但是t:dgDelOpt,t:dgToolBar写的方法大多数传值默认是id,但是咱们的表中没有id这个属性,想要直接调用写好的方法,要把主键重新定义下,有两种方法:1.最简单粗暴的就是把数据库表字段加个id;2.在jsp 页面对主键重定义一下,

<script type="text/javascript">
var Force_id='UserID';
</script>

然后在jeecg的DataGridTag.java文件中getOptUrl的方法里加一句

sb.append("if(typeof Force_id == 'undefined' && !rec.id){return '';}else{console.log(JSON.stringify(rec));}");

这样主键不是id的数据表中调用写好的增删改查方法就可以执行了,但有的方法还可能涉及到写的通用的js脚本,那个具体情况具体分析,在这里我也不好说.

问题2:

在数据表格的jsp页面,还是以问题1里面的数据表为例.加载页面

1.%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

2.<%@include file="/context/mytags.jsp"%>

3.<t:base type="jquery,easyui,tools,DatePicker"></t:base>

4.<div class="easyui-layout" fit="true">

5. <div region="center" style="padding:0px;border:0px;overflow:auto;">

6.  <t:datagrid name="UserList" title="用户信息" actionUrl="UserController.do?datagrid" idField="UserID" fit="true">

7.   <t:dgCol title="用户编号" field="UserID"  hidden="false"  queryMode="single" query="true"  width="50"></t:dgCol>

8.   <t:dgCol title="用户名称" field="UserName"  hidden="false"  queryMode="single" query="true" width="80"></t:dgCol>

9.   <t:dgCol title="用户年龄" field="UserAge" hidden="false"   width="80"></t:dgCol>

10. <t:dgCol title="是否可修改" field="isEditor" hidden="true"   width="80"></t:dgCol>

10.   <t:dgCol title="操作" field="opt"></t:dgCol>

11.   <t:dgDelOpt title="删除" url="UserController.do?del&UserID={UserID}" urlclass="ace_button"  urlfont="fa-trash-o"/>

12.   <t:dgToolBar title="修改" icon="icon-add" url="UserController.do?addorupdate" funname="update" exp="isEditor#eq#1"></t:dgToolBar>

13.   <t:dgToolBar title="新增" icon="icon-add" url="UserController.do?addorupdate" funname="add"></t:dgToolBar>

14.   <t:dgToolBar title="查看" icon="icon-search" url="UserController.do?addorupdate" detail="detail"></t:dgToolBar>

15.  </t:datagrid>

16.  </div>

17. </div>

18.<script type="text/javascript">

19. var Force_id='UserID';

20.</script>

在代码第12行exp="isEditor#eq#1"这是一个表达式,意思是如果是否可修改的值为1那这个按钮就显示,具体可以看下一下官方给出的API,链接地址

http://wiki.jeecg.org/pages/viewpage.action?pageId=5439589

总结:

第一次使用jeecg收获还是蛮多的,我只是写了两个在我看来比较重要的两个问题来简单描述,想要更加熟练的使用jeecg还要不断地学习不断地使用,这样才越来越熟练,不过我不太喜欢hibernate这个框架,虽然他说他的sql优化比mybatis强很多,但是我还是喜欢mybatis可以对sql语句直接操作要舒服一些.

猜你喜欢

转载自blog.csdn.net/shiyus1314/article/details/76173236