頁籤的使用方法一直沒有紀錄,在此更新一下。
首先必須要有一個做為頁籤的JSP檔,通常設定為XXX_tabs.jsp
內容如以下所示;
<portlet:renderURL var="tabsURL">
<portlet:param name="mvcPath" value="/html/isu_ocw_courseAssort/course_assort_tabs.jsp" />
</portlet:renderURL>
以上是頁籤重整時導向的網頁,在這裡就是指同一頁。
<div class="view-wrapper">
內容包在這個DIV之中,接下來是控制的java檔;
<%
String tabNames = "新增分類,新增子分類";
String[] tabs1NamesArray = StringUtil.split(tabNames);
String tabs1Default = preferences.getValue("Sample Tab 1", tabs1NamesArray[0]);
String tabs1 = ParamUtil.getString(request, "tabs1", tabs1Default);
%>
以上第一行是為頁籤設定的分類名稱,並存在陣列當中,後面兩行是擷取及交換資料的request方法。
接下來就可以設定頁籤了;
<liferay-ui:tabs
names="<%= tabNames %>"
url="<%= tabsURL.toString() %>"
value="<%= tabs1 %>"
refresh="true"
/>
names便是前面設定的那堆名稱,url便是要導向的網頁,取的值就是tabs設定的名稱。
接下來就是choose的判斷標籤;
<c:choose>
<c:when test='<%= tabs1.equals("新增分類") %>'>
<%@ include file="/html/isu_ocw_courseAssort/course_assort.jsp" %>
</c:when>
<c:when test='<%= tabs1.equals("新增子分類") %>'>
<%@ include file="/html/isu_ocw_courseAssort/course_assort_secondary.jsp" %>
</c:when>
</c:choose>
</div>
當選擇的標籤符合文字時,便嵌入相對應的jsp頁面,完成之後應該長得像這樣;
嗯...這邊借用一下多國語言的圖,到這裡頁籤就完成了!
3/5日新增 如果要在configuration頁面新增多重頁籤的做法
<liferay-portlet:renderURL portletConfiguration="true" var="portletURL">
<portlet:param name="tabs2" value="<%=tabs2%>" />
<portlet:param name="redirect" value="<%=redirect%>" />
</liferay-portlet:renderURL>
以上便是製造一個renderURL讓頁籤指回同一頁;
<liferay-ui:tabs names="基本設定,條件篩選設定" param="tabs2"
url="<%=portletURL%>" />
這樣便會指回同一頁,然後用choose判斷不同頁籤顯示對應的內容,內容直接寫在同一個jsp裡。
<liferay-ui:tabs names="基本設定,條件篩選設定" param="tabs2"
url="<%=portletURL%>" />
就像這樣,大致上就可以使用了。