JEECG常見問題貼
===
Jeecg 在線文檔:http://jeecg3.mydoc.io
https://edu.csdn.net/lecturer/929
MiniDao在線文檔:http://minidao.mydoc.io
**1.jeecg數據庫腳本問題**
注意:jeecg3.5.2之前版本,不需要數據庫腳本,程序會自動初始化數據庫。從3.5.2+開始,需要手工執行SQL腳本,初始化數據庫。
**2-1.Eclipse內存溢出**
2014-6-27 15:29:21 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler process
嚴重: Error reading request, ignored
java.lang.OutOfMemoryError: PermGen space
解決方案:配置下maven啟動jdk內存
```
-DMAVEN_OPTS=-Xms1024M -Xmx1024M
-XX:PermSize=256M -XX:MaxPermSize=256M
復制代碼
```

**2-2.Tomcat內存溢出**
2014-6-27 15:29:21 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler process
嚴重: Error reading request, ignored
java.lang.OutOfMemoryError: PermGen space
解決方案:
在tomcat\bin目錄下找到bin \ catalina.bat文件,用編輯形式打開,找到以下的內容:加入下邊紅色的Tomcat內存設置語句就可以了:
rem ----- Execute The Requested Command
```
set JAVA_OPTS=-Xms1024m -Xmx4096m
-XX:PermSize=128m
-XX:MaxPermSize=256m
復制代碼
```
linux下
bin/ catalina.sh
rem ----- Execute The Requested Command
```
CATALINA_OPTS="-Xms2048m -Xmx2048m
-XX:PermSize=512M -XX:MaxNewSize=256m
-XX:MaxPermSize=1024m"
復制代碼
```
**3.maven依賴下載慢,下載不來怎么辦?**
方式一:JEECG官方maven鏡像配置方法
http://jeecg3.mydoc.io/?t=279437
方式二:下載官方提供的maven本地倉庫,直接覆蓋本地
http://git.oschina.net/jeecg/jeecg-local-maven
**4.代碼生成器配置問題**
代碼生成器目前分兩種:GUI和onlinecoding在線web方式(推薦)
方式一:GUI工具類
src/main/java/test/JeecgOneGUI.java (單表)
/src/main/java/test/JeecgOneToMainUtil.java(一對表)
方式二:Online對接代碼生成器
onlinecoding代碼生成器菜單:onlinecoding-->表單配置

代碼生成器配置文件:
a.數據庫配置 src/main/resources/jeecg/jeecg_database.properties(代碼生成器和項目的數據庫配置是分開的)
b.代碼生成器相關配置文件src/main/resources/jeecg/jeecg_config.properties(比如代碼生成根路徑)
詳細請參看文檔《JEECG 開發指南》第7節代碼生成器專題
**特別注意參數:**
代碼生成器是單獨的數據庫配置文件,而且database_name參數必須配置,否則提示錯誤

**5.代碼生成后,項目啟動,提示找不到對應的control,需要spring掃描配置(entity、service、controller)**
http://www.jeecg.org/forum.php?mod=viewthread&tid=1832&extra=
注意:如何不配置,會出現空指針錯誤。

**6.代碼生成的時候說表名不存在問題?**
代碼生成器數據庫配置文件: src/main/resources/jeecg/jeecg_database.properties
注意:database_name 必須跟數據庫名一致。
另外:請注意數據庫不要區分大小寫(Linux下mysql,區分大小寫,會導致有問題),
因為jeecg默認用大寫的表名去讀取表結構信息。
http://www.jeecg.org/forum.php?m ... 3052&extra=page%3D1
**7.表單自定義按鈕問題**
jeecg表單彈出采用的技術是lhgdialog ,技術鏈接:http://www.lhgdialog.com/
目前添加和修改的方法是寫的通用的,都在src/main/webapp/plug-in/tools/curdtools.js里面
所以看不到js方法,如果用戶想定義模仿里面的寫法即可,可以任意擴展按鈕
```
$.dialog({
content: 'url:'+addurl,
lock : true,
//zIndex:1990,
width:width,
height:height,
title:title,
opacity : 0.3,
cache:false,
ok: function(){
iframe = this.iframe.contentWindow;
saveObj();
return false;
},
cancelVal: '關閉',
cancel: true /*為true等價于function(){}*/
})
復制代碼
```
**8.列表自定義查詢條件問題**
jeecg默認生成的查詢條件,布局如果滿足不了需求可以自定義查詢條件
說明:命名規則按照datarid的name進行命名,參考下面規則,js方法會自動生成
|查詢條件|命名規則|
|---|---|
|t:datagrid|name = {userList2}|
|查詢域div|id={userList2}tb|
|查詢對應JS方法|{userList2}search();|
|重置對應JS方法|searchReset('{userList2}');|
參考代碼:src/main/webapp/webpage/system/user/userList2.jsp
參考demo如下:

**9.jeecg_v3.6 按鈕權限和數據權限教程**
注意admin擁有超級權限,換其他號測試;
如果是采用標簽的datagrid頁面,自定義按鈕權限控制是有效的;
如果未采用標簽的列表頁面,想使用按鈕權限的話,需要在頁面引用下標簽,在頁面底部寫如下代碼
```
<t:authFilter/>
復制代碼
```
注意:權限測試,不要用admin,admin有超級權限,不受權限控制。
[1]. JEECG 簡單實例講解權限控制 http://blog.csdn.net/zhangdaiscott/article/details/50233453
[2]. 簡單實例講解JEECG ONLINE表單權限控制 http://blog.csdn.net/zhangdaiscott/article/details/50381050
**10.菜單設置 “訪問類型”,左側菜單不顯示?**
說明:訪問類型,是用于數據權限使用,不作為菜單展示使用。
**11.配置行級數據權限不生效,常見問題**
常見問題一: url地址配置錯誤,大家長犯錯誤配置頁面訪問地址,應該配置數據加載地址
**例如:**
正確地址:testPersonController.do?datagrid
錯誤地址:testPersonController.do?list (此為頁面地址,非列表數據加載地址,一定注意)
**12.如何讓請求,排除權限攔截**
配置文件:src/main/resources/spring-mvc.xml

**13.配置權限時報undefind**
http://www.jeecg.org/forum.php?m ... 4855&extra=page%3D1
**14.上傳word模板報錯問題**
onlinecoding上傳word模板采用的是組件jacob,該組件需要在window系統下,而且需要做對應的配置,如果你是linux系統,請采用fck編輯器,將word內容復制進去;
詳細參考文檔《JEECG Online Coding開發手冊》
http://yun.baidu.com/s/1iCkb
**15.工作流咨詢問題**
工作流版本為商業版,只對公司用戶提供。社區提供了JEECG集成工作流學習版本(供大家學習):
http://www.jeecg.org/forum.php?m ... 1800&extra=page%3D1
**16.jeecg上傳文件組件其他方案**
http://www.jeecg.org/forum.php?mod=viewthread&tid=935&extra=
**17.如果屏蔽定時任務**
修改配置文件:src/main/resources/spring-mvc-timeTask.xml
注釋掉:

**18.項目啟動,提示initLinster監聽找不到**
**a.錯誤截圖:**


**b.排查下問題 確認下:resource沒在classpath里面**

手工remove掉,然后再手工加進來(這個步驟很管用)
**c. 解決方案:通過eclipse clean下項目,生成class**

**19.eclipse卡,可以關閉validation**

**20.jeecg_v3.6 定時任務使用文檔**
http://blog.csdn.net/zhangdaiscott/article/details/50903499
http://wiki.jeecg.org/pages/viewpage.action?pageId=1376468
**21.jeecg用hibernate效率會不會低?有沒有mybatis**
解答:jeecg有自己的輕量級持久層封裝框架 minidao,類似mybatis寫sql,建議復雜業務邏輯采用minidao來實現
**22.默認首頁風格切換方法**
http://blog.csdn.net/zhangdaiscott/article/details/51177823
**23.文件在線預覽不好用**
回復:jeecg在線文檔預覽采用OpenOffice,所以需要本地安裝【Apache_OpenOffice_incubating_3.4.0_Win_x86_install_zh-CN.exe】,并且需要修改配置文件,設置openoffice安裝路徑

**24.多數據源使用文檔**
http://www.jeecg.org/forum.php?mod=viewthread&tid=2328
**25.jeecg的parent引用報錯【jeecg-p3-pom】**

解決方法: 這個依賴在jeecg的maven私服上面,通過執行install 或者下載命令,就可以通過私服下載來,不需要額外配置。
很多朋友maven不熟悉,請大家一定按照以下截圖配置好maven參數


**26.JEECG兼容那些瀏覽器,是否兼容IE?**
jeecg兼容所有的瀏覽器 IE、谷歌、火狐等瀏覽器都支持。
jeecg的首頁和登錄頁面分很多套:登錄頁面有三套,首頁有5套
五套首頁IE支持情況,菜單三級支持情況列表:
|首頁風格|IE兼容性|菜單支持三級|
|--|--|--|
|ACE平面風格|支持IE10+|不支持|
|ShortCut風格|支持IE6+|支持|
|經典風格|支持IE6+|支持|
|Sliding云桌面|支持IE8+|不支持|
|H+平面風格|支持IE10+|不支持|
**27.最新版本(3.6.4)登錄后首頁亂碼**

解決辦法:
1.瀏覽器兼容問題,建議谷歌瀏覽器
2.底層jar是舊的,更新jeecg maven依賴,特別是snapshot類型的,更新后會解決該問題,如果不熟悉maven可以下載官方提供本地倉庫 http://git.oschina.net/jeecg/jeecg-local-maven
**28.jeecg的數據表 必須得有id這個字段么?**
不是,jeecg的實體必須是id,數據庫主鍵通過注解與實體映射即可。
**29.切換數據庫類型,比如從mysql改成oracle需要注意修改位置**
平臺DB配置文件:src/main/resources/dbconfig.properties
代碼生成器配置文件:src/main/resources/jeecg/jeecg_database.properties
minidao配置修改:src/main/resources/spring-minidao.xml

**30.jeecg中ckfinder的使用**
鏈接地址:http://jingyan.baidu.com/article ... qq-pf-to=pcqq.group
**31.jeecg webservice如何使用?**
jeecg集成cxf 配置文件:src/main/resources/cxf-servlet.xml
客戶端測試代碼:src/main/java/org/jeecgframework/web/demo/ws/test/JeecgWServiceClient.java
請求示例:http://localhost:8080/jeecg/cxf/JeecgWService

**32.jeecg依賴都已經上傳jeecg官方maven私服,如果有下載不來,請按照下面操作,從私服下載**
適合項目:jeecg 、jeewx、jeecg-p3
注意:構造紅色三個,snapshot是更新snapshot-jar,jeecg官方會實時更新依賴。
第一個不要構中,鉤中的話,maven依賴不會下載。

**33.jeecg 與 jeecg-p3區別?**
http://www.jeecg.org/forum.php?mod=viewthread&tid=3581&extra=page%3D1
**34.如何改造列表默認模糊查詢?**
注意:目前列表查詢是全匹配查詢,需要模糊查詢的話,是在輸入框的內容前后加*,例如按照“名字”迷糊查詢: \*張三\*
為什么這么設計?因為如果系統默認全按照模糊查詢,數據量大的情況會導致系統很慢,所以模仿SAP的這種規則模式。
如果用戶需要默認模糊查詢,可以自行改造hql查詢過濾器
http://blog.csdn.net/zhangdaiscott/article/details/74980298
**35.jeecg老版本 SQLSERVER支持問題?**
**常見問題:**

**解決方案:(替換下驅動包)**
修改pom.xml文件,刪除原來sql server2005的驅動包,添加如下驅動包
```
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
```
**36.jeecg restful請求如何訪問?**
control的請求需要加上“rest/”前綴,例如:

**37.jeewx與jeecg區別?**
jeecg是快速開發平臺,jeewx是在jeecg 3.4.2版本上開發的微信管家系統。
**38.jeecg 在線聊天功能如何配置?**
http://blog.csdn.net/zhangdaiscott/article/details/52351494
**39.JEECG默認查詢是單表,怎么實現兩張表關聯查詢啊**
案例:有一張人員表和部門表,因為人員表只有部門的ID,怎么讓查詢結果顯示部門名字
方案一:通過針對分頁查詢的結果集,進行循環處理處理(拓展字段)

```
this.gzUserInfoYwService.getDataGridReturn(cq, true);
List<GzUserInfoYw> gzUserInfoList = dataGrid.getResults();
Map<String,Map<String,Object>> extMap = new HashMap<String, Map<String,Object>>();
for(GzUserInfoYw temp:gzUserInfoList){
//此為針對原來的行數據,拓展的新字段
Map m = new HashMap();
m.put("departmentName", "財務部");
m.put("orgName", "組織機構名稱");
extMap.put(temp.getId(), m);
}
TagUtil.datagrid(response, dataGrid,extMap);
復制代碼
```
**JSP頁面用法(跟實體字段一樣):**

方案二:直接采用minidao(類mybatis)寫原生態SQL實現多表關聯查詢,案例參考: jeecg常用示例->Minidao列表
**40.online表單,默認模板設置**
src/main/java/org/jeecgframework/web/cgform/util/TemplateUtil.java
屬性:public static final String TEMPLET_CODE_DEFAULT = "default";
//Online默認樣式:default(easyui)
//Online默認樣式:ledefault(ace)
**41.jeecg上傳附件簡易方案**
http://www.jeecg.org/forum.php?mod=viewthread&tid=935&extra=page%3D1
**42.jeecg 上傳組件,打開很慢問題解決**
fileTypeExts包含zip,rar 就會延遲打開,建議不限制 fileTypeExts
原因看文章:https://segmentfault.com/q/1010000007501929/a-1020000007546108
**43.項目Maven啟動報錯**
```
The argument does not represent an annotation type: ContextConfiguration
```
#缺圖片
**解決方案(需修改兩點):**
1.org.jeecgframework.core.junit.AbstractUnitTest 類的依賴類 需要導入本地junit4 測試包
```
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
復制代碼
```
注釋:把原來的<scope>test</scope>去掉
2.將類AbstractUnitTest改成抽象類
```
public abstract class AbstractUnitTest
復制代碼
```
**44.在頁面當中打開一個新的tab頁面 ,彈出窗口,提示消息等通用JS都在文件**
curdtool\*.js (分中文和英文)
路徑:src/main/webapp/plug-in/tools/curdtools_zh-cn.js
**45.彈出窗口增加按鈕**
```
重寫plug-in/tools/curdtools_zh-cn.js文件中createdetailwindow方法(重命名),復制重寫的方法到對應的 *-list文件中,修改錄入、修改、查看或者刪除方法的調用方法名為重寫的方法
彈窗組件API 參考網址 http://www.lhgdialog.com/
復制代碼
```
**46.獲取當前登錄用戶信息**
```
TSUser user = ResourceUtil.getSessionUserName();
復制代碼
```
**47.獲取當前日期**
```
String date = DateUtils.date2Str(new Date(), DateUtils.date_sdf);
復制代碼
```
**48.rest風格請求地址調用方法**
```
例如:
查詢list :http://localhost:8080/系統名稱/rest/tZzxtDictionaryController/
查詢1條數據:http://localhost:8080/系統名稱/rest/tZzxtDictionaryController/{id}
其他方法去對應的controller里面找
復制代碼
```
**49.判斷非空,轉換string To int 等方法在工具類**
```
org.jeecgframework.core.util.oConvertUtils
復制代碼
```
**50.給列表單元格加背景色**
```
<t:dgCol title="任務類型" field="type" align="center" extendParams="'styler':fmtype;" query="true" queryMode="single" width="100"></t:dgCol>
復制代碼
```
extendParams屬性添加js方法,然后再調用方法
```
function fmtype(val,row,index){
var s1 = 'background-color: #f89406;;border-radius: 5px;color:#fff;';
var s2 = 'background-color: #3a87ad;border-radius: 5px;color:#fff';
if (val =='W') {
return s1
}
if (val =='J') {
return s2
}
}
復制代碼
```
**51.上傳控件不好用問題(谷歌瀏覽器(Chrome)遇到Flash崩潰的處理辦法)**
Upload(上傳標簽)采用flash方式,不同的瀏覽器對flash支持不同,會出現上傳有問題,建議重裝flash組件
http://blog.csdn.net/zhangdaiscott/article/details/43585049
**52.validform校驗規則選擇3情況下,彈出提示框在IE下跑偏問題**
**問題效果:**

**解決方法:**
在對應的jsp頁面頭部加上:
```
<!DOCTYPE html>
復制代碼
```
就可以解決這個問題。
**53.Online二次開發,JS增強實現POPUP的返回多賦值**
http://blog.csdn.net/zhangdaiscott/article/details/72639785
**54.Jeecg 如何執行批量insert或者update操作,高效率**
方法:org.jeecgframework.core.common.dao.jdbc.SimpleJdbcTemplate.batchUpdate
原理:基于springjdbc封裝,批量提交
相關博客:http://blog.csdn.net/kiwi_coder/article/details/12749325
**55.如何去掉在線聊天功能?**
修改頁面src/main/webapp/webpage/main/hplus_main.jsp,刪掉引用<%@include file="/context/layui.jsp"%>

**56.列表字段過多情況下,實現左右拖動效果,參數設置**
修改列表<t:datagrid ,設置參數, fitColumns="false">
**57.表單時間控件,帶.0處理方案**
賦值的時候,格式化<fmt:formatDate value='${jeecgDemoPage.birthday}' type="date" pattern="yyyy-MM-dd"/>

**58.jeecg 圖標樣式IE兼容性問題**
jeecg 3.7版本以后,提供兩套圖標設置防范
|EasyUI圖標設置|Font Awesome|
|--|--|
|支持IE(如果使用IE,建議采用這種方式)|不支持IE(谷歌瀏覽器,效果更棒)|
easyui風格

Font Awesome風格

**59.jeecg部署weblogic 修改配置方法**
http://blog.csdn.net/zhangdaiscott/article/details/73277955
**60.老的上傳標簽upload, 默認轉換文檔 openoffice ,如何控制不轉換?**
通過參數 swfpath, 轉換SWF(不設值則不轉換)

**61.jeecg如何定位對應的Controller類**
通過谷歌瀏覽器,F12進入調試模式,訪問頁面查看請求,通過請求去定位。 jeecg的類都是命名規范,通過快捷鍵Ctrl+Shift+R 可以快速定位
**62.maven 轉非maven項目常見錯誤**
org.apache.jasper.JasperException: /webpage/login/login.jsp(3,0) Unable to read TLD "META-INF/c.tld" from JAR file
解決方案:把jsp-api.jar和servlet-api.jar從my web-inf/lib里刪掉。
**63.JEECG 頁面多個用戶選擇器只顯示最后一個**
http://blog.csdn.net/u014361679/article/details/76209047
**64.JEECG 頁面字典控件與Popup使用**
http://blog.csdn.net/zhangdaiscott/article/details/72639785
**65.JEECG新版集群定時任務使用方法**
https://my.oschina.net/aini3884/ ... af5d3fd14d775bfee85
**66.如何提升優化jeecg web訪問效率,解決easyui訪問慢問題**
http://blog.csdn.net/zhangdaiscott/article/details/77509517
http://blog.csdn.net/zhangdaiscott/article/details/77509555
http://blog.csdn.net/zhangdaiscott/article/details/30035805
**67.plug-in-ui位置,在底層插件 jar中**
**位置:**
```
org\p3framework\jeecg-p3-ui\1.1.3\jeecg-p3-ui-1.1.3.jar/plug-in-ui
```
**68.前端性能優化知識,包括css和js**
http://blog.csdn.net/zhangdaiscott/article/details/74344519
**69.IE8下 DIV風格美化方案**
方案不足:不兼容I8兼容模式,會導致提交不了。
修改文件:src/main/webapp/plug-in/Validform/css/divfrom.css
增加屬性:
```
position:relative;
z-index:2;
behavior:url(plug-in/diy/htc/PIE.htc);
復制代碼
```
**70.jeecg開發模式和發布模式如何切換?**
修改配置文件:src/main/resources/sysConfig.properties
參數:
```
#DEV(開發模式)/PUB(生產模式)
sqlReadMode=PUB
```
**71.JEECG_3.7.1 列表多表頭的用法**
http://blog.csdn.net/zhangdaiscott/article/details/77988776
**72.JEECG非maven版本下載地址**
https://github.com/zhangdaiscott/jeecg-nomaven
**73.彈出框不能放大了,問題原因**

問題原因:因為myeclipse2016版里面有個codelive導致的
**73.代碼已經生成了,但是我修改了生成的代碼,頁面請求沒有任何變化**
回答:這個問題是因為, online的表單訪問地址和代碼生成后的地址是不一樣的,代碼生成后,應該修改訪問地址,不應該還用online的訪問地址;
另外采用online方式配置的權限,代碼生成后需要重新配置,規則變了。
**75.【開發工具】 JEECG_3.7新版開發工具**
http://blog.csdn.net/zhangdaiscott/article/details/78072438
**76. t:formvalid中定義callback函數**
如果dialog="true"的話
callback="@Override functionName" 調用的是當前頁面的方法
callback="functionName" 調用的是父頁面的方法
如果dialog="false"
callback="functionName" 調用的是當前頁面的方法
**77.自定義彈框的大小**
```
<t:dgToolBar title="common.add.param" width="20%" height="30%" operationCode="addOptButton"
langArg="common.user" icon="icon-add" url="userController.do?addorupdate" funname="add"></t:dgToolBar>
```
**78.online一對多結構,附表數據大于256條時報錯**
java.lang.IndexOutOfBoundsException: Index: 256, Size: 256
http://bbs.csdn.net/topics/390511418/

有兩個地方,一個是 BaseController中,一個是MyWebBinding
binder.setAutoGrowCollectionLimit(Integer.MAX_VALUE);


**79.二級三級聯動問題**
一級聯動例子參考:常見示例-原生態組件-聯動下拉省市區

**80.jeecg中如何調用存儲過程?**
方案:采用springjdbc調用存儲過程
參考:http://blog.csdn.net/zjw10wei321/article/details/44151751
**81.啟動報啟動Velocity失敗**
首先clean下項目,嘗試重啟看是否成功
如果不成功采用以下方案嘗試
```
是velocity初始化引擎的問題,修改下配置就可以了
修改 velocity.property
注釋runtime.log.logsystem.class = org.apache.velocity.runtime.log.Log4JLogChute
新加一下配置
runtime.log.logsystem.class = org.apache.velocity.runtime.log.SimpleLog4JLogSystem
runtime.log.logsystem.log4j.category=velocity
runtime.log.logsystem.log4j.logger=velocity
runtime.log = velocity.log
啟動成功
```
**82.啟動不正常,卡住不動了**
可能是ehcache端口沖突問題,去修改下src/main/resources/ehcache.xml配置文件
將截圖紅框部分注釋掉,重啟試試

**83.jeecg 默認字段值是如何注入的?**
通過hibernate攔截器 org.jeecgframework.core.aop.HiberAspect
**84.jeecg Error was Port already in use: 40001解決辦法**
http://blog.csdn.net/zhangdaiscott/article/details/78731387
**85.jeecg_3.7.1版本用戶添加不上問題**
http://www.jeecg.org/forum.php?m ... 4764&extra=page%3D3
**86.列表標簽datagrid的自定義JS方法如何傳遞參數**
http://www.jeecg.org/forum.php?m ... 4879&extra=page%3D1
**87.jeecg通過hibernate查詢的實體,設置實體字段值會自動更新數據庫問題**
原因:jeecg采用了hibernate的緩存機制,所以會自動更新數據庫。
如何不更新數據庫,關閉hibernate 的session
```
關閉session
//-------------關閉hibernate Session-------------------------------
SessionFactory sessionFactory = (SessionFactory) ApplicationContextUtil.getContext().getBean("sessionFactory");
Session session = sessionFactory.getCurrentSession();
session.close();
//-------------關閉hibernate Session-------------------------------
復制代碼
```
**88.JEECG 行編輯示例源碼**
http://www.jeecg.org/forum.php?m ... 4951&extra=page%3D1
**89.JEECG_3.7.1分頁報錯問題解決**
http://www.jeecg.org/forum.php?mod=viewthread&tid=4968&extra=
**90.minidao條件like寫法**
```
<#if ( employee.name )?? && employee.name ?length gt 0>
/* 雇員名 */
and e.NAME like CONCAT('%', :employee.name ,'%')
</#if>
復制代碼
```
**91.jeeccg 數據列表,如何擴展個性化效果**
通過標簽參數 formatterjs
代碼參考:
```
<t:dgCol title="頭像" field="touxiang" queryMode="group" formatterjs="<font color="#ff0000">statusFmt</font>" width="60"></t:dgCol>
復制代碼
```
```
function <font color="#ff0000">statusFmt</font>(value, row, index){
if (value != null && value != '')
return '<span style="color:green;font-size: 16px;">?</span>';
return '<span style="color:red;font-size: 16px;">x</span>';
}
復制代碼
```
效果:

實踐帖子:http://www.jeecg.org/forum.php?m ... 5004&extra=page%3D1
**92.列表標簽exp表達式用法**
[1]、支持exp 有多個值 比如 state in(1,4,5,6,8)
語法:status#eq#N,Y 多個以逗號隔開
[2]、判斷空
空判斷:status#empty#true 非空false
**93.連接外部數據庫,系統訪問慢問題解決**
http://www.jeecg.org/forum.php?m ... e=1&extra=#pid13786
**94.JEECG-P3如何做細化權限控制?**
http://www.jeecg.org/forum.php?m ... 5275&extra=page%3D1
**95.3.7.3新春版本,無法添加用戶**
http://www.jeecg.org/forum.php?m ... 5345&extra=page%3D1
**96. minidao 提示sql文件不存在,實際sql存在**
類似截圖:

問題原因: 此為minidao提示不準確問題,真正問題是sql模板freemarker語法錯誤。
解決方案:可以引用minidao最新版1.6.3
```
<dependency>
<groupId>org.jeecgframework</groupId>
<artifactId>minidao-pe</artifactId>
<version>1.6.3</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
</exclusion>
<exclusion>
<groupId>org.junit</groupId>
<artifactId>com.springsource.org.junit</artifactId>
</exclusion>
</exclusions>
</dependency>
復制代碼
```
**97.my97時間控件選擇時間后,validform驗證無效,焦點再次指向輸入框,后再次校驗通過**
解決方案:
時間控件事件放到input框外面,如下圖:

實例代碼:t:base 標簽引入 DatePicker
```
<div class="form">
<label class="Validform_label"> 時間: </label>
<input id="d12" type="text" datatype="*" errormsg="該字段不為空"/>
<img onclick="WdatePicker({el:'d12'})" src="plug-in/easyui/themes/black/images/datebox_arrow.png"
style="opacity: 0.6;height:17px;width:17px;" align="absmiddle">
<span class="Validform_checktip"></span>
</div>
復制代碼
```
**98.啟動錯誤解決 java.lang.NoClassDefFoundError:Could not initialize class org.jeecgframework.core.util.EhcacheUtil**
http://www.jeecg.org/forum.php?mod=viewthread&tid=5453&extra=
**99.3.7.2版本bug,online配置唯一校驗生成代碼后,顯示數據類型未定義**
http://www.jeecg.org/forum.php?m ... 0%E6%A0%A1%E9%AA%8C
**100.jwt接口常見問題,沒有配置redis服務**
http://www.jeecg.org/forum.php?m ... 5485&extra=page%3D1
**101.jeecg_3.7.3 新版定時任務用法講解**
(新版)https://blog.csdn.net/zhangdaiscott/article/details/77504229
**102.jeecg_3.7版本菜單加載慢問題解決,實現菜單1秒開**
http://www.jeecg.org/forum.php?mod=viewthread&tid=5577&extra=page%3D1
**103.關于minidao1.6.2最新版本與spring boot整合**
http://www.jeecg.org/forum.php?m ... 5604&extra=page%3D1
http://www.jeecg.org/forum.php?m ... 5458&extra=page%3D1
**104.關于配置表單權限修改后字段值變成空問題**
http://www.jeecg.org/forum.php?mod=viewthread&tid=5655&fromuid=11298
**105.jeecg導入excel數字列帶.0**
解決方案: 把excel這一列改成文本類型
```
技巧一:清理垃圾菜單權限配置
delete from t_s_role_function where functionid not in(select id from t_s_function)
技巧二:
在線聊天工具配置文件:
1. websocket配置:
src/main/webapp/plug-in/layim/config.js
修改IP和項目訪問地址
2. 必須使用tomat7以上
技巧三:切換my97皮膚方法
修改My97DatePicker/WdatePicker.js文件參數skin:"green" ,標準風格default
技巧四: 切換列表風格{easyui,jqgrid}
org.jeecgframework.tag.core.easyui.DataGridTag.style
技巧五: 攔截排除注解JAuth的使用--@JAuth(auth=Permission.SKIP_AUTH)
在controller上添加表示該類下所有請求直接通過url攔截器
在方法上添加則表示只有該方法的請求直接通過url攔截器
auth值若不配置或配置成auth=Permission.NORMAL則表示走默認邏輯
技術六:權限攔截支持請求URL(目前支持帶一個參數,但格式有要求,不能帶等號)
loginController.do?login
loginController.do
不支持模式:
loginController.do?name=2
如果有特殊的需要通過參數控制,可以換個請求方式,例如:
cgFormBuildController/ftlForm/{Online表單名}/goDetail.do?id={?}
技巧七:jeecg的排序可以用列表的sort屬性,也可以cq.addOrder("userName", SortDirection.desc);編碼方式,
編碼方式優先于標簽的,在排序前面。
技巧八:jeecg對外接口文檔
http://localhost:8080/jeecg/swagger/index.html
```
關注JEECG官方公眾號獲取更多信息

- 總體介紹
- 快速了解
- 平臺優勢
- 技術支持
- 社區榮譽
- 開發環境準備
- JEECG私服Maven
- 代碼結構說明
- 入門開發環境搭建
- 開發工具
- 代碼生成器使用
- GUI代碼生成器
- Online代碼生成器
- P3插件代碼生成器
- 代碼生成器配置
- 功能介紹
- 權限開發手冊
- Online開發權限
- Online表單訪問規則
- 列表按鈕權限控制
- 列表數據權限控制
- 頁面表單權限控制(一對多表)
- 頁面表單權限控制(單表)
- 其他
- 二級管理員手冊
- 接口權限配置
- 平臺權限設計總覽
- 編碼開發方式
- 列表按鈕權限用法
- 列表數據權限用法
- 數據權限自定義SQL
- 表單權限用法
- UI標簽庫文檔
- AuthFilter(頁面權限標簽)
- Autocomplete(自動補全標簽)
- BaseTag(樣式和JS引入標簽)
- Choose(彈出選擇標簽)
- ComboTree(下拉樹形選擇框)
- Datagrid(數據列表標簽)
- DepartSelectTag(部門樹選擇標簽)
- DictSelect(數據字典下拉選擇框)
- FormValidation(表單提交及驗證標簽)
- HasPermissionTag(頁面權限標簽)
- Menu(左側菜單生成標簽)
- MutiLang(國際化標簽)
- OrgSelectTag(部門樹列表選擇標簽)
- SelectZTree(Ztree樹控件)
- Tabs(選項卡父標簽)
- TreeSelectTag樹分類標簽
- Upload(上傳標簽)
- UserSelectTag(用戶選擇標簽)
- WebUploader(上傳標簽)
- 查詢構造器
- 查詢過濾器
- 高級查詢構造器
- 專題功能介紹
- 國際化使用
- 多數據源使用
- 定時任務
- 平臺JWT接口文檔
- 消息中心
- Online在線開發
- Online二次開發
- Online代碼生成
- Online唯一性校驗配置
- Online查詢機制(數據權限)
- Online樹形表單配置
- Online表單填值規則
- Online表單對外接口
- Online表單控件
- Online表單配置
- Online表單高級應用
- Online報表開發
- Online圖形報表配置
- Online數據報表配置
- Online移動報表配置
- 自定義表單設計
- 自定義表單權限
- 列表空間權限控制
- 功能介紹
- 常規控件權限控制
- 自定義表單配置
- 自定義表單二次開發
- 自定義表單控件
- 自定義表單數據源
- 自定義表單模板
- 自定義表單配置
- 自定義表單高級應用
- 表單數據維護
- 附錄小技巧
- datagrid擴展屬性用法
- Formvalid新增屬性tiptype的使用
- JEECG單點集成文檔
- Jeecg定時任務開發
- JEECG常見問題貼
- Redis與Ehcache切換文檔
- Toolbar自定義js參數規則
- UI標簽規則
- 列表多表頭的設計
- 列表拓展字段展示
- 列表自定義查詢條件
- 員工入職開發規范文檔V1.0
- 數據列表合計功能
- 登錄權限攔截器排除方法
- 組織機構導入功能使用說明
- 表單字段重復校驗方法
- JEECG新技術
- 新版UI技術方案