jeecg的几个bug

  1. 无参数的构造函数中如果有进行字段的初始化则使用默认的查询时会自动带上这些查询条件

    如实体BlackListEntity的构造函数如下:

    public BlackListEntity(){
    		//默认状态为启用
    		state = new Integer(1);
    	}

    则当使用默认的conrol中的datagrid方法查询时,如下:

    @RequestMapping(params = "datagrid")
    	public void datagrid(BlackListEntity blackList,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
    		CriteriaQuery cq = new CriteriaQuery(BlackListEntity.class, dataGrid);
    		//查询条件组装器
    		org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, blackList, request.getParameterMap());
    		this.blackListService.getDataGridReturn(cq, true);
    		TagUtil.datagrid(response, dataGrid);
    	}

    会自动带上 where state = 1这样的查询条件,因为jeecg中构造查询条件是根据传入的blackList实体,然后取出不为空的属性进行构造查询条件的。

  2. combox中的name如果带有点号会致使combox功能无法使用,现象是明明有数据但在下拉框中数据出不来,如下:

    <t:comboBox url="billBusinessController.do?combox" name="billBusiness.id" text="code" id="id" multiple="false" selectedValue="${channelBusinessPage.billBusiness.id}"></t:comboBox>

    这时因为jeecg封装了jquery easyui中的combox,而jquery中如果id属性带有点符号需要用"\\."替换掉"."号,但jeecg代码中没有处理

  3. 如果datagrid中存在两个相同的字段,并且需要替换不同属性,则只有第一个替换函数才能启作用,如下:

    <t:datagrid name="channelBusinessList" title="渠道计费点" actionUrl="channelBusinessController.do?datagrid&channelId=${channelId}" idField="id" fit="true">
       <t:dgCol title="编号" field="id" hidden="true"></t:dgCol>
       <t:dgCol title="渠道计费点" field="billBusinessId" replace="0001_111"></t:dgCol>
       <t:dgCol title="短信指令" field="instruct" ></t:dgCol>
       <t:dgCol title="动漫计费点" field="billBusinessId" replace="aaaa_111"></t:dgCol>
       <t:dgCol title="状态" field="state" dictionary="state"></t:dgCol>
       <t:dgCol title="操作" field="opt" width="100"></t:dgCol>
       <t:dgDelOpt title="删除" url="channelBusinessController.do?del&id={id}" />
       <t:dgToolBar title="录入" icon="icon-add" url="channelBusinessController.do?addorupdate&channelId=${channelId}" funname="add"></t:dgToolBar>
       <t:dgToolBar title="编辑" icon="icon-edit" url="channelBusinessController.do?addorupdate" funname="update"></t:dgToolBar>
       <t:dgToolBar title="查看" icon="icon-search" url="channelBusinessController.do?addorupdate" funname="detail"></t:dgToolBar>
      </t:datagrid>

这边有两个字段使用的都是billBusinessId属性,但replace函数不一样,第一个是把111替换成0001,第二个是把111替换成aaaa,但实际执行结果时只有第一个replace启作用,两个字段的值都被替换成了111。这个问题比较难修改,目前没找到什么解决方法。

你可能感兴趣的:(bug,jeecg)