hk2000c技術(shù)專欄

          技術(shù)源于哲學(xué),哲學(xué)來源于生活 關(guān)心生活,關(guān)注健康,關(guān)心他人

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

          Portlet 形態(tài)

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

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

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

          ?

          8.1 Portlet VIEW 形態(tài)

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

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

          ?????? Portlet 必須支持 VIEW 形態(tài)

          ?

          8.2 EDIT 形態(tài)

          ?????? EDIT 形態(tài)下面, portlet 應(yīng)該提供相關(guān)的內(nèi)容以及邏輯給用戶,以便能夠讓用戶可以自定義 portlet 行為。一個 EDIT 形態(tài)的 portlet 應(yīng)該有 1 到多個窗口,這樣用戶就能從這些窗口進入他們自己自定義的數(shù)據(jù)了。

          ?????? 通常, EDIT 形態(tài)的 portlet 會設(shè)置或者更新 Portlet 參數(shù)。參考 portlet 參數(shù)一節(jié)獲得更多的細節(jié)。

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

          Portlet 不必支持 EDIT 形態(tài)

          8.3 HELP 形態(tài)

          ?????? help 形態(tài)下面, portlet 應(yīng)該提供 portlet 本身的相關(guān)幫助信息。一個 portlet 的幫助信息可以是介紹 portlet 的完整幫助或者是內(nèi)容相關(guān)的幫助文本。

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

          Portlet 不必支持 HELP 形態(tài)

          8.4 portlet 自定義形態(tài)

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

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

          ?????? 打個比方, portlet 應(yīng)用需要支持 clipsboard 以及 config 形態(tài)的 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 形態(tài)》附錄中列出了建議的 portlet 形態(tài)的命名參考以及他們的使用參考。如果 portlet 在部署描述器中定義了一個自定義的形態(tài),并且 portal 容器實現(xiàn)了這種形態(tài)的話,那么 Portal 容器可以立即自動地映射這種支持形態(tài)。

          ?

          ?

          8.5 GenericPorlet 渲染方法的處理

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

          ?

          8.6???? 定義 portlet 形態(tài)

          ?

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

          下面的例子顯示了一個配置 Portlet 形態(tài)的樣本:

          ...

          <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 形態(tài),當(dāng)然還支持默認的 view 形態(tài)。在 wml 語言環(huán)境下,支持 help 以及 view 形態(tài)。

          ?

          ?

          ?===


          以上是翻譯節(jié)選,以后會陸續(xù)刊出其它章節(jié)
          歡迎轉(zhuǎn)載共同交流

          ?

          posted on 2006-07-12 11:01 hk2000c 閱讀(1716) 評論(0)  編輯  收藏 所屬分類: Java 技術(shù)文章翻譯
          主站蜘蛛池模板: 崇州市| 建水县| 花莲市| 漳州市| 武胜县| 油尖旺区| 焦作市| 凭祥市| 衡东县| 武平县| 莎车县| 水城县| 扶沟县| 东安县| 泌阳县| 泸溪县| 丹寨县| 沁阳市| 肥西县| 基隆市| 毕节市| 宜兰市| 方城县| 成都市| 贵溪市| 化德县| 册亨县| 迁西县| 阿合奇县| 大同市| 漳浦县| 朝阳区| 崇左市| 富裕县| 日喀则市| 南岸区| 祁连县| 伊宁县| 象山县| 武宣县| 留坝县|