hk2000c技術專欄

          技術源于哲學,哲學來源于生活 關心生活,關注健康,關心他人

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            111 隨筆 :: 1 文章 :: 28 評論 :: 0 Trackbacks

          Portlet 形態

          Portlet 的形態直白的說,就是 portlet 功能的表現形式。通常, portlet 根據他們自己功能的不同,執行不同的任務以及生成不同的內容。 Portlet 形態直接預示著他們擔任什么樣的功能并且將會顯示什么樣的內容。當 portlet 被調用的時候, portlet 容器會為其提供的一個的當前 portal 形態。 Portlet 可以很方便的在處理一個 action 請求的時候改變它的形態。

          ?????? Portal 規范定義了 3 portlet 形態。他們分別是 VIEW EDIT 以及 HELP PortletMode 類定義了這些形態的常量。

          ?????? Portal 形態還用于對用戶的權限功能控制,比方說一個未認證用戶只能察看 portlet VIEW 以及 HELP 形態,而認證用戶則能訪問 portlet EDIT 形態。

          ?

          8.1 Portlet VIEW 形態

          ?????? Portlet VIEW 形態的主要功能是通過生成標記語言來顯示 portlet 的當前狀態。比方說,一個 portlet VIEW 形態可能包含一到兩個頁面,用戶可以瀏覽或者做某些操作。它也可能僅僅是一張靜態頁面而不做任何事情。

          ?????? 開發者可以簡單的通過重載 GenericPortlet doView() 方法來獲得這項功能

          ?????? Portlet 必須支持 VIEW 形態

          ?

          8.2 EDIT 形態

          ?????? EDIT 形態下面, portlet 應該提供相關的內容以及邏輯給用戶,以便能夠讓用戶可以自定義 portlet 行為。一個 EDIT 形態的 portlet 應該有 1 到多個窗口,這樣用戶就能從這些窗口進入他們自己自定義的數據了。

          ?????? 通常, EDIT 形態的 portlet 會設置或者更新 Portlet 參數。參考 portlet 參數一節獲得更多的細節。

          開發者可以簡單的通過重載 GenericPortlet doEdit() 方法來獲得這項功能

          Portlet 不必支持 EDIT 形態

          8.3 HELP 形態

          ?????? help 形態下面, portlet 應該提供 portlet 本身的相關幫助信息。一個 portlet 的幫助信息可以是介紹 portlet 的完整幫助或者是內容相關的幫助文本。

          開發者可以簡單的通過重載 GenericPortlet doHelp() 方法來獲得這項功能

          Portlet 不必支持 HELP 形態

          8.4 portlet 自定義形態

          ?????? Portlal 的提供者可以自定義 portlet 形態用來提供自己指定的功能

          ?????? 要使用自定義 Portlet 形態,首先需要在部署描述器中添加 custom-portlet-mode 元素 ,其次需要在運行期找到該形態的 portal 實現。如果在運行期間找不到該自定義形態的 portal 實現,這個 portlet 就不應該被調用

          ?????? 打個比方, portlet 應用需要支持 clipsboard 以及 config 形態的 portlet ,那么部署描述器里面可能這么寫:

          ?

          <portlet-app>

          ...

          <custom-portlet-mode>

          <description>Creates content for Cut and Paste</description>

          <name>clipboard</name>

          </custom-portlet-mode>

          <custom-portlet-mode>

          <description>Provides administration functions</description>

          <name>config</name>

          </custom-portlet-mode>

          ...

          </portlet-app>

          ?

          在《擴展 Portlet 形態》附錄中列出了建議的 portlet 形態的命名參考以及他們的使用參考。如果 portlet 在部署描述器中定義了一個自定義的形態,并且 portal 容器實現了這種形態的話,那么 Portal 容器可以立即自動地映射這種支持形態。

          ?

          ?

          8.5 GenericPorlet 渲染方法的處理

          ?????? GenericPorlet 通過 render 方法來分發用戶的請求給 doView , doEdit , doHelp 方法。這個指定形態分發的動作在 doDispatch 里面都會指明。如果 portal 容器提供者需要支持一種新的形態,那么必須重載 doDispatch 方法。

          ?

          8.6???? 定義 portlet 形態

          ?

          Portlet 通過在它的部署描述器內配置 portlet 形態來獲得它能使用的 portal 容器支持的形態。每個 Portlet 都必須支持 VIEW 形態,而且 VIEW 形態無需特別指定。

          下面的例子顯示了一個配置 Portlet 形態的樣本:

          ...

          <supports>

          <mime-type>text/html</mime-type>

          <portlet-mode>edit</portlet-mode>

          <portlet-mode>help</portlet-mode>

          ...

          </supports>

          <supports>

          <mime-type>text/vnd.wap.wml</mime-type>

          <portlet-mode>help</portlet-mode>

          ...

          </supports>

          ...

          ?

          以上的配置說明了,該 portlet html 標記語言下支持 edit ,help 形態,當然還支持默認的 view 形態。在 wml 語言環境下,支持 help 以及 view 形態。

          ?

          ?

          ?===


          以上是翻譯節選,以后會陸續刊出其它章節
          歡迎轉載共同交流

          ?

          posted on 2006-07-12 11:01 hk2000c 閱讀(1711) 評論(0)  編輯  收藏 所屬分類: Java 技術文章翻譯
          主站蜘蛛池模板: 阿合奇县| 乐业县| 乐昌市| 衡阳县| 湾仔区| 峡江县| 富顺县| 皮山县| 巧家县| 得荣县| 胶南市| 余江县| 满城县| 札达县| 武夷山市| 常熟市| 波密县| 济宁市| 绥芬河市| 高尔夫| 甘肃省| 梅河口市| 观塘区| 龙州县| 呼伦贝尔市| 宁晋县| 夏津县| 泸定县| 家居| 循化| 西和县| 怀宁县| 鹤山市| 宝兴县| 油尖旺区| 抚宁县| 台中市| 聂拉木县| 万源市| 垫江县| 永城市|