六月 05

在Liferay 6.2之後的版本中,如果要在portlet中使用http post的話,

有些事情需要注意。下面先簡單的建立程式碼。

於portlet class中撰寫以下程式


@ProcessAction(name="addName")
public void addName(ActionRequest actionRequest, ActionResponse actionResponse)
throws IOException, PortletException {
String userName = ParamUtil.get(actionRequest, "userName", StringPool.BLANK);
actionRequest.setAttribute("userName", userName);
}

於該portlet對映的view.jsp中撰寫以下程式,重點在於<portlet:namespace />,

如果沒加上去的話,Liferay 6.2 會無法取得userName的資料。


User Name is : <b> ${userName}</b>
<portlet:defineObjects />
<portlet:actionURL name="addName" var="addNameUrl"></portlet:actionURL>
<br />
<form action="${addNameUrl}" method="post">
<input name="<portlet:namespace />userName" type="text" /><br />
<input type="submit" />
</form>

不過這樣子寫感覺上怪怪的,沒辦法很直覺。

如果你不想加上<portlet:namespace />的話,那麼你可以使用下面的方法。

於   /你的Portlet名稱/docroot/WEB-INF/liferay-portlet.xml  這個檔案中,

找到你的portlet區段,然後加上下面的設定。


<requires-namespaced-parameters>false</requires-namespaced-parameters>

請特別注意,要加上這個設定有特定的順序,請放在<icon>icon.png</icon>的下方,不可以亂放。

加上去後會像下方的範例


<portlet>
<portlet-name>new-portlet-test</portlet-name>
<icon>/icon.png</icon>
<requires-namespaced-parameters>false</requires-namespaced-parameters>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<css-class-wrapper>new-portlet-test-portlet</css-class-wrapper>
</portlet>





六月 04

這篇是寫給自己看的,以免忘記,所以可能有點亂,而且很基本。 如果能幫上你的忙,那也歡迎參考使用。 首先,一定要先裝Java Runtime,為了以後免麻煩,所以連Java SDK也順便裝一裝。 http://www.oracle.com/technetwork/java/javase/downloads/index.html 進入上面的網址後,找一下JDK與JRE的部份,然後下載,並安裝 版本的話,我是7與8都安裝,所以一共安裝了下面4個東西

  • JRE 7
  • JDK7
  • JRE8
  • JDK8

然下來,則是先下載Liferay的相關檔案,網址如下 http://sourceforge.net/projects/lportal/files/ 進去後,請分別進到以下資料夾,並下載最新的檔案

  • Liferay IDE
  • Liferay Portal

以我的例子,下載回來會有以下2個檔案

  • liferay-ide-eclipse-windows-x64-2.1.0-ga1-201403281241.zip
  • liferay-portal-tomcat-6.2-ce-ga2-20140319114139101.zip

http://www.liferay.com/zh/downloads/liferay-portal/available-releases下載Plugins SDK 以我的例子,下載回來的檔名如下

  • liferay-plugins-sdk-6.2-ce-ga2-20140319114139101.zip

到此,需要手工下載的檔案已經完成了,接下來就是解壓縮,跟設定了。

liferay-ide-eclipse-windows-x64-2.1.0-ga1-201403281241.zip 解壓縮後,
已經是個完整含Liferay Plugin的開發環境了。

liferay-portal-tomcat-6.2-ce-ga2-20140319114139101.zip
liferay-plugins-sdk-6.2-ce-ga2-20140319114139101.zip 則依資料夾解壓縮存放即可。

接下來就是開始設定了,第一步,當然就是開啟Eclipse了。 第一次執行請自行設定一下Eclipse的workspace。

20140604_1

 

點選Window -> Preferences 進行設定

20140604_2

 

於Preferences內的Java -> Installed JREs 確認是否有jre7並設為預設值(jre8應該也是可以)
如果沒有jre7的話,請按右邊的Add自己選好jre7的路徑後加入。
設定預設值後請先按OK,讓設定值生效,然後重新進設定介面

20140604_3

 

接下來則是於Preferences內的Java -> Compiler
並將Compiler compliance level 設為 1.7,我的預設值為1.4,而Liferay最少需要1.6以上。
所以這邊請特別注意,如果沒設為1.6以上,到時候安裝Plugins時會發生錯誤。

20140604_4

 

接下來是Liferay內的Installed Plugin SDKs。新增的一個SDK。

20140604_5

 

按下Add後,會出現以下的視窗。選一下你放置plugins的位置,然後按OK

20140604_6

 

接下來設定Server內的Runtime Environments

20140604_7

 

這邊請依照你的Liferay的版本,來進行選擇

20140604_8

 

這邊選擇一下Liferay with tomcat 放置的位置,並確認runtime JRE為jre7

20140604_8_1

 

按下上圖中的Next後,會出現下面的介面,這3個欄位可以留空白,直接按Finish即可。

20140604_9

 

接下來新開一個專案,專案的類型為Liferay 內的 Liferay Plugin Project

20140604_10

 

會需要填寫的部份會應只會有上面的Project name與Display name, 其他的資訊,如果之前有設定正確的話,應該都會自動帶出來。

20140604_11

 

按下Finish後,Eclipse就會自動去下載。 這邊可能會有點久5分鐘到30分鐘都有可能,依照網路速度而定。

20140604_12

 

完成後,先把Eclipse 的Servers View打開

20140604_13

 

於Servers View中新增一個Server給Liferay使用

20140604_14

 

接下來就是把Liferay Server給啟用了。 Server啟動完成後,會自動開啟一個新的瀏覽器。

20140604_15

 

 

到這邊就完成囉,接下來就是Liferay內的設定了。

20140604_16