<..more...>
<init-param>
<name>view-template</name>
<value>/html/tab1.jsp</value>
</init-param>
<init-param>
<name>config-template</name>
<value>/html/configuration.jsp</value>
</init-param>
<..more...>
2.再來 liferay-portal.xml 也定義class的路徑與類別
<liferay-portlet-app>
<portlet>
<portlet-name>yourPortletName</portlet-name>
<icon>/icon.png</icon>
<configuration-action-class>
com.liferay.portal.kernel.portlet.DefaultConfigurationAction
</configuration-action-class>
<..more...>
3.開始設計你的configuration.jsp 這個頁面 會在你的portlet右上角板手圖示裡面顯示;
以下是為了要讓使用者可以自由選擇顯示筆數
4. 這是init.jsp 的寫法; 這樣只要任何頁面有 include init.jsp 都可以取得 config中設定的變數
GetterUtil.getString(value, default Value ); 如果第一個參數value是null 那他會以第二個參數給預設;
更深入的了解 可以參考:
http://rritw.com/a/bianchengyuyan/C__/20130823/414769.html
http://go.rritw.com/supercharles888.blog.51cto.com/609344/1281101
deltaSet 會在search container 的 delta = " <%=deltaSet %>" 用到;
<%@include file="/html/init.jsp"%>
<liferay-portlet:actionURL portletConfiguration="true"
var="configurationURL" />
<aui:form action="<%=configurationURL%>" method="post">
<!-- 以下是用來控制寫入的 -->
<aui:input name="<%=Constants.CMD%>" type="hidden"
value="<%=Constants.UPDATE%>" />
<aui:select label="顯示筆數"
name="preferences--deltaSet--">
<aui:option label="5" selected="<%= deltaSet == 5 %>" />
<aui:option label="10" selected="<%= deltaSet == 10 %>" />
<aui:option label="20" selected="<%= deltaSet == 20 %>" />
<aui:option label="30" selected="<%= deltaSet == 30 %>" />
<aui:option label="50" selected="<%= deltaSet == 50 %>" />
</aui:select>
<%!SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); %>
<aui:input name="abc" label="最後設定日期" disabled="true" value="<%=mdfDate2%>"/>
<aui:input name="preferences--mdfDate2--" type="hidden" value="<%=sdf.format(new Date())%>"/>
<aui:button type="submit" />
</aui:form>
name的命名規則 一定要這樣 "preference--你高興--" 不然他不認得這是preference的變數;
4. 這是init.jsp 的寫法; 這樣只要任何頁面有 include init.jsp 都可以取得 config中設定的變數
來自由使用;
preferences 所儲存的設定變數 會寫入資料庫; 不用怕重開之後會不見;
<%
PortletPreferences preferences = renderRequest.getPreferences();
String portletResource = ParamUtil.getString(request,
"portletResource");
if (Validator.isNotNull(portletResource)) {
preferences = PortletPreferencesFactoryUtil.getPortletSetup(
request, portletResource);
}
int deltaSet = GetterUtil.getInteger(preferences.getValue("deltaSet",
null));
String mdfDate2 = GetterUtil.getString(preferences.getValue("mdfDate2",
null), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
%>
GetterUtil.getString(value, default Value ); 如果第一個參數value是null 那他會以第二個參數給預設;
String title = GetterUtil.getString(xxx.getTitle(), "你高興" );
if(xxx.getTitle() == null)
title = "你高興";
更深入的了解 可以參考:
http://rritw.com/a/bianchengyuyan/C__/20130823/414769.html
http://go.rritw.com/supercharles888.blog.51cto.com/609344/1281101
沒有留言:
張貼留言