Hyperic HQ portal機制研究

2021-09-01 01:09:34 字數 2656 閱讀 5517

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之前關中斷,這個問題也困擾了我很長時間,查了不少帖子,學到不少東西,但總是 覺得有些細節沒有弄清楚,...