以620W為例,Tab 4的兩個checkbox在預設時,value='1'。若未勾選時,按下存檔,不會將狀態回寫回db,因此在按下doSave前,必須將該checkbox預設若未勾選時,回傳'0'給db。
處理方式如下:
按下doSave後,在宣告formData之後增加
if($('[name|="someCheckBox"]:checked').val() == undefined){
formData["someCheckBox(key String)"]='0'(value);
}
邏輯判斷回寫回db
2013年6月3日 星期一
2013年5月15日 星期三
[開發環境 WAS] 簡易WAS載入錯誤的判斷
若碰到WAS在沒有掛載或是已掛載ear的情況下,WAS起不來,卡在23%並出現error message
可以先到server頁籤對WAS server點選Administration裡Run Administrative Console
進入Admin Console內展開應用程式,找到應用程式類型裡的WebSphere企業應用程式,檢查ear檔是否處於失敗狀態,若是,針對該檔按下解除安裝將ear檔排除之後再重新重啟WAS後,順利啟動後再掛上!
2013年5月12日 星期日
[Controller JAVA] Java共用模組 子案查次 位數不足時自動補零
可採用下列共用方法:
StringUtils.leftPad(字串型態參數str, 填入的位數size, 不足位數補上"0"padStr)
運作邏輯:
1.判斷字串是否為空,若為則回傳null,反之往下
2.若padStr為空, 則預設為" "
3.取出padStr的長度及str的長度,以size減去傳入字串的長度
針對相減的結果做不同的流程處理,最後回傳一個 new String(padding).concat(str);
StringUtils.leftPad(字串型態參數str, 填入的位數size, 不足位數補上"0"padStr)
運作邏輯:
1.判斷字串是否為空,若為則回傳null,反之往下
2.若padStr為空, 則預設為" "
3.取出padStr的長度及str的長度,以size減去傳入字串的長度
針對相減的結果做不同的流程處理,最後回傳一個 new String(padding).concat(str);
2013年5月8日 星期三
[Controller JAVA] Controller內共用Gird
GridReturnWithInfoMap
以List of <?> 命名為queryList、傳入型態String的參數domainNm、陣列gridColumn、特定功能的formBean、布林型態isNumber
首先判斷資料是否為空dataSize(null or ZERO)
if流程判斷沒資料時回傳值;
有資料時的處理邏輯:
初始化取得目前頁數 nowPageNo :透過 formBean.getPage();取得
初始化取得每頁頁數 rowPerPage:透過 formBean.getRows();取得
計算Gird起始筆數: int displayItemNoStart = (nowPageNo - 1) * rowPerPage;
當起始筆數 > 當前資料筆數,進入無資料的處理;
若當前資料筆數 > 起始筆數
以List of <?> 命名為queryList、傳入型態String的參數domainNm、陣列gridColumn、特定功能的formBean、布林型態isNumber
首先判斷資料是否為空dataSize(null or ZERO)
if流程判斷沒資料時回傳值;
有資料時的處理邏輯:
初始化取得目前頁數 nowPageNo :透過 formBean.getPage();取得
初始化取得每頁頁數 rowPerPage:透過 formBean.getRows();取得
計算Gird起始筆數: int displayItemNoStart = (nowPageNo - 1) * rowPerPage;
當起始筆數 > 當前資料筆數,進入無資料的處理;
若當前資料筆數 > 起始筆數
2013年5月6日 星期一
[ManagerImpl JAVA] 在managertImpl宣告 static variable, assign with a method or value
碰到的情況為,如果在ManagerImpl內的某一個method,ex:
/**
* {@inheritDoc}
*/
@Override
public int deleteByPK(String a, String b, String c, String d,
String e, String f, String g) {
xxxT002Dao.deleteByPKExceptFieldNo(a, b, c, d, e, f, g);
}
這種情況欲將
xxxT002Dao.deleteByPK(a, b, c, d, e, f,g) 指派給
int deleteCount作計數用,因此部分variable為static variable,若是建立後按下sava,變數會是null,且噴出null Exception,原因為靜態記憶體位置已切割出空間但未實際將value分派給int deleteCount。
因此需要透過重啟WAS,靜態變數才可被指派。
另外,若是這種情況將method指派給int variable並想傳回前端Controller
第一個要注意method 是否為void型態,若是請將void轉換為欲回傳值的型態,並return 該variable。
在Controller將int deteleCount = xxxWManager.deleteByPK(String a, String b, String c, String d, String e, String f, String g);
※Manager也記得將回傳型態修改
/**
* {@inheritDoc}
*/
@Override
public int deleteByPK(String a, String b, String c, String d,
String e, String f, String g) {
xxxT002Dao.deleteByPKExceptFieldNo(a, b, c, d, e, f, g);
}
這種情況欲將
xxxT002Dao.deleteByPK(a, b, c, d, e, f,g) 指派給
int deleteCount作計數用,因此部分variable為static variable,若是建立後按下sava,變數會是null,且噴出null Exception,原因為靜態記憶體位置已切割出空間但未實際將value分派給int deleteCount。
因此需要透過重啟WAS,靜態變數才可被指派。
另外,若是這種情況將method指派給int variable並想傳回前端Controller
第一個要注意method 是否為void型態,若是請將void轉換為欲回傳值的型態,並return 該variable。
在Controller將int deteleCount = xxxWManager.deleteByPK(String a, String b, String c, String d, String e, String f, String g);
※Manager也記得將回傳型態修改
[Dao、jpql JAVA] 異動entity造成的enhance
因異動某實體檔造成class異動
1. 對專案xxx名稱做Maven的process-classes動作,完成後重開broswer進入測試環境
若上述方法不可行時:
1.移除WAS內的ear檔
2.對整個專案做package
3.package後將ear檔掛回
4.開啟broswer到測試環境
1. 對專案xxx名稱做Maven的process-classes動作,完成後重開broswer進入測試環境
若上述方法不可行時:
1.移除WAS內的ear檔
2.對整個專案做package
3.package後將ear檔掛回
4.開啟broswer到測試環境
2013年4月21日 星期日
[開發環境 MAVEN] Maven伺服器切換
一般來說公司的Maven伺服器若掛點,通常會有一台備援機,環境在Update DOM發現有無法更新的情況,或是要更新專案卻在Console跳出下列訊息:
[WARN]Could not transfer metadata jhq:jhq-core:1.0-SNAPSHOT/maven-metadata.xml from/to xxx_repo (http://x.x.x.x/nexus/content/groups/public):
Failed to transfer http://x.x.x.x/nexus/content/groups/public/jhq/jhq-core/1.0-SNAPSHOT/maven-metadata.xml. Error code 503, Service Not Available
或是 Unable to update index for xxx_repo|http://x.x.x.x/nexus/content/groups/public
※方法一:諸如這類訊息,先確定Maven是否掛掉,並確認備援機IP位置,到C:\Users\ComputerName\.m2 底下將原有的settings.xml利用editor調整[url]標籤內nexus的目標位置。
※方法二:在C:\Users\ComputerName\.m2 底下建一個備份的settings_otherName.xml 透過 Eclipse 內的 Menu選單至Window → Preferences → 找到Maven → User Settings → 將User Settings (open file):內的xml檔案指向做更動。
[WARN]Could not transfer metadata jhq:jhq-core:1.0-SNAPSHOT/maven-metadata.xml from/to xxx_repo (http://x.x.x.x/nexus/content/groups/public):
Failed to transfer http://x.x.x.x/nexus/content/groups/public/jhq/jhq-core/1.0-SNAPSHOT/maven-metadata.xml. Error code 503, Service Not Available
或是 Unable to update index for xxx_repo|http://x.x.x.x/nexus/content/groups/public
※方法一:諸如這類訊息,先確定Maven是否掛掉,並確認備援機IP位置,到C:\Users\ComputerName\.m2 底下將原有的settings.xml利用editor調整[url]標籤內nexus的目標位置。
※方法二:在C:\Users\ComputerName\.m2 底下建一個備份的settings_otherName.xml 透過 Eclipse 內的 Menu選單至Window → Preferences → 找到Maven → User Settings → 將User Settings (open file):內的xml檔案指向做更動。
※記得按下Update Settings → Apply → Ok
2013年4月18日 星期四
[開發環境 Eclipse] 匯入CheckStyle設定
科科宅最近把Workspace重裝了一次,發現有太瑣碎的設定東忘西忘,又不好意思每次都問同事,不如花點時間把它記下來當作是個人開發的小記錄!這邊的記錄是當環境佈置好以後,匯入checkStyle的步驟:
checkStyle及code-formatter設定檔(請參考google雲端硬碟:checkStyle.7z),解壓縮後放到對應的workspace folder下。
checkStyle及code-formatter設定檔(請參考google雲端硬碟:checkStyle.7z),解壓縮後放到對應的workspace folder下。
- ※首先匯入checkStyle.xml:
- 至Menu選單Window下Preference。進入後尋找checkStyle,新增一個Global Check Configurations
- Type選擇 Internal Configuration,並命任一名稱。匯入完成後,在Global Check Configurations 清單內選取匯入的checkStyle名稱後,按下左方Set as Default 將checkStyle的檢核規則指向此設定檔即可。
- ※接著是將Code-formtter.xml 匯入:
- 一樣進入Preference。進入後尋找Java → Code Style → Fomatter
- Import Code-formatter.xml,將Active profile下拉至選取自Tax (視你 Code-Formatter 內"<profile kind="CodeFormatterProfile" name="Tax" version="11">" name 屬性的名稱為何而定)。

※當完成程式碼時,在Editor該程式碼的畫面內點滑鼠右鍵帶出Command選單,找到CheckStyle → Check Code with CheckStyle,CheckStyle會迅速從你的xml比對出不符合規則的程式碼行號,請依照checkStyle所建立的規則調整。若經CheckStyle後有大量的錯誤,可先透過Command選單尋找Source (快捷鍵:Alt + shift + S ) → Clean Up 選取自己的專案名稱,按下Next 或 Finish 將部分較易被處理的checkStyle error 自動幫你處理掉。請養成coding完畢的習慣,編寫完畢後,請在Command選單尋找Source (快捷鍵:Alt + shift + S ) → Formatter (快捷鍵:Ctrl + shift + F ) 將你的程式碼按Code-formatter排版。
訂閱:
文章 (Atom)





