
- Aug 10 Sat 2019 02:35
-
Liferay Staging客製化Portlet的同步功能做法

- Aug 10 Sat 2019 02:33
-
Liferay多國語言的input及editor、Service builder及Configuration使用方式

- Oct 11 Tue 2016 15:39
-
利用Java進行密碼字串的AES加密
製作密碼驗證機制時,常會需要針對密碼進行加密之後,再存入資料庫,本次於某專案中有實做到密碼加/解密機制,所使用的加密格式為AES 128位元加密,並且將加密過後的資料以Base64的格式編譯為字串,最後存入資料庫欄位中,如下所述;
1. 本次使用的加密金鑰為自行撰打組成,由於使用的為128位元加密,金鑰格式需要有16bytes,可英數組合且不建議使用特殊符號,此金鑰存入資料庫某欄位,直接以Connection的方式讀取;
2. 取得金鑰字串之後,便可進行密碼的加解密工作,如下;
Encrypt及Decrypt分別為加解密方法,傳入的參數為金鑰SecretKey物件、以及要加密的字串或是解密的byte陣列,需要注意的是IvParameterSpec為加/解密時要用到的參數,型別為byte陣列,同樣為16個字元的英數混和格式字串轉byte而來,而且加解密實用的IV值要一樣否則無法執行。
另外包含了將金鑰字串轉換為SecretKey物件的方法,轉換後用以加/解密。
- Jan 06 Wed 2016 01:35
-
Liferay Notification Handler 訊息通知實作

Liferay的Notification通知是一個很好用的功能,不但在我們自行開發Portlet時可以引用,配合Json Web Service API還可以達到與其他系統串接的功能,以下紀錄;
一、 實作UserNotificationEventHandler - 自行開發Portlet時可直接使用
1. 首先創一個Portlet project,在這裡我們可取名為Notification-Demo-portlet
2. 創立一個package,並且將我們要用的MVC Portlet Java也一併創建進去如下;
UserNotificationPortlet:
- Nov 20 Fri 2015 04:03
-
兩強相見! 於Java裡調用.NET Method
- Nov 04 Wed 2015 01:08
-
Javascript 驗證身份證字號以及居留証字號
- Oct 15 Thu 2015 19:09
-
Liferay與資料庫存取(2) - 使用Custom-Sql

在Liferay中進行自定義Sql查詢的方式,除了上一篇的直接使用finderImpl並且定義Sql字串以外,我們還可以使用custom-sql。
使用custom的好處在於我們可以將查詢字串寫在一個xml中,查詢時將關鍵字帶入,其功能就跟finder一樣。
以liferay的user資料表來說,如果我今天想要用userId跟screenName來查詢,大致如下;
首先在src路徑底下新增custom-sql資料夾,並且新增一個default.xml,內容如下;
內容是單純的查詢語句,如果說有多種不同資料庫的可能性,那就新增多個對應的xml,並且在default.xml內對應;
- Oct 08 Thu 2015 15:46
-
Liferay Dynamic Query多張表的子查詢
開發Liferay時,除了custom-sql可以為我們達成join多張表的查詢之外,其實也可以依照需求利用dynamic query的子查詢查到所需資料,
以下我主要查詢的table為AssetsEntry,配合與其有關連的JournalArticleResource及JournalArticle兩張表做子查詢;
使用以上的作法便可再只需要子查詢時,不需要透過join的方式就可達到需求,若要使用join方式則還是需使用custom-sql較為清楚。
http://www.liferay.com/zh/community/forums/-/message_boards/message/1817322 http://www.liferay.com/zh/community/forums/-/message_boards/message/6729269
- Sep 08 Tue 2015 03:16
-
利用javascript的setInterval設計sessiontimeout倒數計時提醒

javascript有兩個好用的方法,分別為setTimeout()與setInterval(),此兩種方法都是設定秒數並且在時間到之後,執行某些method
唯一的不同在於setTimeout()只會執行一次,而setInterval()則會重複執行,必須使用clearInterval()將其清除。
分別有以下兩種撰寫方法;
setTimeout()的撰寫方式與setInterval()相同。
只要善用setInterval()我們便可以寫出一個簡單的倒數計時器,在這裡我配合jqwidget的notification功能來撰寫一個簡單的sessiontimeout計時器,
- Aug 22 Sat 2015 03:15
-
Jqwidgets grid配合Mybatis pageHelper進行資料分頁

最近終於成功實作了Jqwidget grid + Mybatis pageHelper進行的資料分頁顯示,方法並不困難;
一般來說,當遇到非常龐大的資料量的時候。前端data table的資料顯示都會進行分頁取值,也就是傳遞目前所在頁面、畫面顯示筆數等等資訊到後端,
再由後端進行sql的查詢,一次只查詢固定範圍的資料以減輕系統負擔及提升效能。
本次我所使用的前端網頁元件是Jqwidget grid,使用json的資料格式來傳遞資訊,而Jqwidget 的dataadapter有為我們傳遞分頁資訊;
首先是資料的source取得格式:
- Aug 12 Wed 2015 15:47
-
創建Maven Project基本設置

Maven跟一般的web project比較起來,最大的不同就在於不需要手動下載所需要的jar檔,
而只需要在pom.xml定義後,Maven便會自動幫我們下載所需的檔案。
Maven的jar檔案配置可在以下網站尋找;
http://mvnrepository.com/
http://search.maven.org/
- May 22 Fri 2015 14:18
-
mybatis + spring + sql server 2008 基本設置(maven project)

花了許多時間,初步完成了mybatis + spring的整合,準備工作如下;
使用版本: Spring 4.0.2 RELEASE、Mybatis 3.2.6、Sql Server jdbc 4.0、mybatis-spring 1.2.2
一、新創一個maven webapp project,這裡取名為MybatisDemo,package設定為com.test.mybatis,記得Archetype要設定webapp如下;
完成之後還要記得更改java compiler改成現在用的版本,build path 的 system library也要修改。
接著便修改pom.xml,這裡除了引用spring、mybatis以及spring-mybatis的相關jar檔案之外,還要有javaee-api、sql server驅動程式等等,詳細如下;
