读书人

JEECG入门2

发布时间: 2014-01-08 00:30:58 作者: rapoo

JEECG入门二

改造后:


JEECG入门2
?

?2.2:外键后取值“taste00Entity_tasteName”,可以取得到值,但是发现数据查询的时侯出1+N次的查询方式2.3:解决JEECG生成的List查询1+N次的方法

经过代码跟踪,发现最后做数据查询的类是org/jeecgframework/core/common/dao/impl/GenericBaseCommonDao.java。

查询数据列表的方法是org.hibernate.Criteria,Criteria里面的方法setFetchMode能够解决1+N次的查询问题,具体代码如下。

也将把这个代码上报给JEECG,也许在下个版本就会解决这个问题了

?? ??? String[] fields = cq.getDataGrid().getField().split(",");
??? ??? for (int i = 0; i < fields.length; i++) {
??? ??? ??? if (fields[i].indexOf("_") != -1) {
??? ??? ??? ??? fields[i] = fields[i].substring(0, fields[i].indexOf("_"));// 外键字段引用名
??? ??? ??? ??? //需要查询的关联对象
??? ??? ??? ??? criteria.setFetchMode(fields[i], org.hibernate.FetchMode.JOIN);
??? ??? ??? }
??? ??? }

2.4:关于代码器配置,可能造成整个系统架构的问题

jeecg_config.properties配置文件,里面的jeecg_filed_convert


JEECG入门2

查看了JEECG关于org.jeecgframework.tag-sources-3.3.2.jar里面的源码

上一个问题2.3取值XXX_XXX是跟据“_”利害反射原理进行取值的

如:jeecg_filed_convert=false,有一张表为XXX_XXX,那么取值的时侯就要这样写XXX_XXX_XXX,这样就取不到需要的值,甚至系统报错。

建议:jeecg_filed_convert=true不要去改,JEECG把这个配置取消掉

?2.5:单页生成的时侯,查看数据报了这个错,JSONObject.fromObject(-->的时侯报的


JEECG入门2

Json串

{'total':4,'rows':[{'state':'closed','id':'1','employeeId':'999','tasteName':'温度','mutex':'1','disMode':'0','lastUpdate':'2013-05-19 15:05:24.0'},{'state':'closed','id':'2','employeeId':'999','tasteName':'甜度','mutex':'1','disMode':'0','lastUpdate':'2013-05-19 15:05:34.0'},{'state':'closed','id':'3','employeeId':'999','tasteName':'加料','mutex':'0','disMode':'0','lastUpdate':'2013-05-19 15:05:49.0'},{'state':'closed','id':'4','employeeId':'999','tasteName':'';\';\','mutex':'0','disMode':'0','lastUpdate':'2013-05-24 18:37:47.0'}]}

?

原因:'tasteName':'';\';\'里面包含了单引号,查看org.jeecgframework.tag-sources-3.3.2.jar里面的源码,JEECG对对象做了一次转换,将对象封装成字符串,再转成“JSONObject”。

建议:输入框校验不允许输入单引号

?

2.6:datagrid自定义标签对数据字典的引用

例如:dictionary="sex"

读书人网 >开源软件

热点推荐