DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> Portal應用點滴(二)——Portlet簡介
Portal應用點滴(二)——Portlet簡介
編輯:AJAX詳解     

在昨天的Post中,偶已經對Portal進行了簡單的介紹,不知道各位對Portal是不是有一點點認識了呢?如果還是雲裡霧裡的話也沒有關系,畢竟Portal所涵蓋的內容是很廣博的,掌握它需要時間,了解也是需要時間的。在初步介紹了Portal的概念之後,今天我們來探討一下Portal的核心——Portlet。
        首先,Portlet在表現形式上就是我們所看到的頁面上一個個小窗口,但是它絕不僅限於將Web Content以模塊化的方式顯示出來。實際
上,每一個Portlet就是一個完整的Web Application,擁有完整的MVC。而Portlet的開發,部署,管理和顯示都是完全獨立的,不受其他Portlet的影響,從而其functionality(功能性)也是獨立的,也就是說一個Portlet就是一個處理特定義務邏輯的Component。正是Portlet這種獨立性與功能性,使得Portal的Administrator或者是End User能夠很方便地配置符合自己要求的頁面,充分提高信息采集與概括的效率。
        做完了表面功夫之後,我們將注意力集中到Portlet的底層實現中來。從Portlet的類繼承關系上,我們可以看到Portlet的
Superclass仍然是HttpServlet。事實上,雖然Portlet相對Servlet而言進行了很大程度上的擴展並有很大的優越性,但是其本質與Servlet並無二致,都是一個處理HttpRequest並返回HttpResponse的過程,只是這個過程已經不是Servlet中的doGet、doPost或者service那麼簡單了,而是分成了兩個方面:Event Phase和Content Rendering Phase。這就是Portlet的Two-phase PortletRequest Processing了。也許你會對這樣的劃分產生了興趣,為什麼需要這樣去劃分呢?其實,這樣做是為了保持Portlet之間獨立性。你可以設想一下,在一個Portal Page中包含了兩個Portlet,而你在其中的一個Portlet輸入了數據並提交,那麼該Portlet將會處理你的請求並返回相應的結果,而另外一個Portlet則需要保持原來的樣子。在這樣的一個過程,對於處理了你的請求的Porlet,其Processing包含了兩個phase,而另外一個Portlet則僅是進行了Content Rendering Phase的處理並將cache的內容返回。寫到這裡,我不禁想到了AJax。以上的case,可以看作是頁面的部分更新,如果使用了AJax,是不是可以簡化Portlet Request的處理過程呢?我相信這是一個有趣並值得深入探討的問題。[1]  
        說完了比較底層的東西,我們最後再來看看Portlet比較特殊的一個地方:Portlet Mode。一個Portlet通常會包含幾種display 
mode,最常見的莫過於Minimize和Maxmize的display mode,除此之還會有Help Mode和Edit Mode。Help Mode為用戶提供關於該Portlet的幫助信息,而Edit Mode則為用戶提供了設置Portlet屬性的界面。用戶可以通過點擊Portlet的title bar上的圖標(圖中黑色橢圓框住的部分)來切換不同的display mode,如下圖所示:


        以上對Portlet作了簡單的介紹,希望能夠給各位以初步的印象。講了那麼多理論上的東西,大家是不是有點厭煩了呢?不要急,在接下來的Post中就要動手實踐了,敬請關注哦! :)

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved