1、 簡介
portal是一種web應用,通常用來提供個性化、單次登入、聚集各個資訊源的內容,並作為資訊系統表現層的宿主。聚集是指將來自各個資訊源的內容整合到乙個web頁面裡的活動。
2.1.1 portal類
portlet的容器,封裝了頁面名稱、portlet顯示列數、portlet集合以及工作流workflow資訊。
屬性說明:
_name :portal名,使用properties檔案中的i18n命名。portal名用於頁面名稱顯示。
_columns :portal列數量。(在dashboard頁面,portal有兩列portlets)。
_portlets :portlet集合。 ps:_portlets是乙個list>型別的集合。portlet經過兩層封裝,先封裝成列,然後再封裝到portal中。
方法說明:
createportal() :portal類的靜態工廠方法,用於建立portal物件。有乙個無引數的方法和乙個有兩個引數的過載方法。
addportlet(portlet,column) :新增portlet到portal的column列。
addportlets() :新增portlets集合(列)到portal中。
public class portal
//靜態工廠方法構造portal物件。
public static portal createportal()
//通過引數portalname和portletname構造portal的靜態工廠方法。portletname為portlet的url值(也可以用tiles definition物件名稱)。
public static portal createportal (string portalname, string portletname)
//新增乙個portlet至portal中。
public void addportlet(portlet portlet, int column)
list col = (list)_portlets.get(column-1);
col.add(portlet);
} public void addportlets(list definitions , int columns)
//setters and getters
}
2.1.2 portlet類
portlet類,封裝url的portal單元。該類物件封裝在portal的portlets集合中,用於批量引入顯示url內容。url一般為請求位址或者tiles definition。
屬性說明:
_url :portlet最重要屬性,用於載入請求位址或者tiles。
_name :portlet名,可以為空,很少用到。
方法說明:
portlet(string url) :通過url建立portlet物件。
public class portlet()
public portlet(string url)
public portlet(string url ,string fullurl)
//setters and getters
}
控制portal的action類:portal生命週期的初始化,portal放入request,在jsp頁面通過el表示式獲取portal並載入portlet中的url位址或tiles頁面。
/**
* 控制資源頁面portal展示的portalaction類。portalaction配置在tiles配置檔案中,作為tiles的controllerurl請求的action類,tiles頁面會在載入之前請求此類,執行初始化工作。
*/public class resourcehubportalaction extends baseaction
}
2.3.1 struts配置檔案
2.3.2 tiles 配置檔案
.resource.hub.layout載入頁面內容之前,會被/resource/hub/resourcehubportal.do攔截,通過resourcehubportalaction載入portal物件。
2.3.3 spring 配置檔案
struts action通過spring ioc管理
2.4 jsp檔案
tiles definition .main.layout中的columnslayout.jsp頁面**。
通過el表示式獲取portal,通過jstl foreach標籤遍歷portal,獲得portlet列集合。然後遍歷列中的portlet,通過將url插入頁面。
NGUI UICenterOnChild研究與測試
目錄 一,核心函式解析 二 案例製作 1,最終效果 2,hierarchy 結構 3,部分 三 其它注意事項 本文是基於unity的ngui外掛程式中uicenteronchild.cs指令碼,對其中的核心函式做了解析,並製作了測試案例 1,recenter 重定位最中心位置gameobject 一...
Linux wait on buffer函式研究
linux0.11核心中的wait on buffer和wait on inode函式是非常有代表性的延遲性函式處理過程,網上關於這兩個函式的討論 也很多,最主要的乙個問題是為什麼要在判斷b lock之前關中斷,這個問題也困擾了我很長時間,查了不少帖子,學到不少東西,但總是 覺得有些細節沒有弄清楚,...
Linux wait on buffer函式研究
linux0.11核心中的wait on buffer和wait on inode函式是非常有代表性的延遲性函式處理過程,網上關於這兩個函式的討論 也很多,最主要的乙個問題是為什麼要在判斷b lock之前關中斷,這個問題也困擾了我很長時間,查了不少帖子,學到不少東西,但總是 覺得有些細節沒有弄清楚,...