“常用Portlet”指的是,在我做過的超過50家的企業(yè)門戶實(shí)施中,幾乎每個客戶都要求開發(fā)的幾個Portlet。這些Portlet有的是公共信息,有的是工具箱,有的是車次查詢,有的是天氣預(yù)報,總之是用戶在日常辦公生活中最常使用的一些小功能。它們本身涉及的開發(fā)量不大,但卻依賴于Portal開發(fā)的一些技巧。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、象山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為象山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
讀者掌握了這些Portlet的開發(fā),一是為本章的學(xué)習(xí)嘗試實(shí)踐,二是你在接手一個Portal項(xiàng)目時,可以直接拿這些Portlet來用。依據(jù)我的經(jīng)驗(yàn),這些Portlet都是大眾客戶所喜歡和需要的,所以本節(jié)的題目又叫“百寶箱”。
Portal系統(tǒng)在用戶不登錄的前提下,就是一個展現(xiàn)公共信息的網(wǎng)站,唯一不同的是,這個網(wǎng)站的內(nèi)容是以組件的形式構(gòu)成的。用專業(yè)術(shù)語來說,就是整個Portal網(wǎng)站是由無數(shù)個Portlet組成的,每個Portlet是一個方面的內(nèi)容。在現(xiàn)實(shí)的開發(fā)中,由于已經(jīng)將自己的公共信息數(shù)據(jù)化,所以我們只要從數(shù)據(jù)庫中提取這些信息就可以了。下面舉了一些例子,這些例子都是在企業(yè)門戶系統(tǒng)開發(fā)中經(jīng)常碰到的。
這是IT應(yīng)用的一個例子 開發(fā)常用的Portelt(一)
這是“×××”的幾個小例子,如圖1-2所示。
圖1-2 開發(fā)常用的Portelt(二)
要提取這些公共信息,通常有兩種方法。
— 編寫Portlet,在Portlet的數(shù)據(jù)部分直接讀取后臺數(shù)據(jù)庫。這樣做比較獨(dú)立,且風(fēng)格統(tǒng)一,但是會帶來巨大的系統(tǒng)開銷,所以不建議使用。
— 編寫讀取公共信息的頁面,該頁面可以運(yùn)行在具體的應(yīng)用服務(wù)器上,如WebSphere、WebLogic、Tomcat等。我們只要編寫一個Portlet,在Portlet中嵌入一個Iframe,用來顯示這個頁面就可以了。
本節(jié)主要針對第二種方法來討論公共信息Portlet的開發(fā)方法。本節(jié)按照開發(fā)的步驟一步步介紹,沒有主次之分。
1.新建地址列表的屬性文件
JspURL.properties的內(nèi)容是結(jié)構(gòu)化數(shù)據(jù),用來存儲各新聞頁面的URL。例如:
2.在Portlet數(shù)據(jù)層讀取屬性文件
GetUrl用于從JspURL.properties屬性文件中讀取各個新聞頁面所在的URL。該類的大致內(nèi)容如下:
我們在View頁面中嵌入一個Iframe,并指定它的URL屬性為從這個類中讀到的地址。
OK,這個公共信息的Portlet就算開發(fā)完成了,我們把它打包并發(fā)布到Portal門戶系統(tǒng),完成權(quán)限分配,就可以定制并顯示在你的門戶網(wǎng)站了。
車次查詢、天氣預(yù)報等公共小工具,是當(dāng)前門戶網(wǎng)站中比較受歡迎的小組件。這里我們以在Portlet頁面上放置三個小圖標(biāo),點(diǎn)擊時分別進(jìn)入列車車次查詢、航班信息和計(jì)算器為例,簡單介紹它們的開發(fā)方法:
開發(fā)這個Portlet請遵循以下步驟進(jìn)行操作。
例如,我們可以對“天氣預(yù)報”做如下處理。
通過天氣預(yù)報Portlet可以查看到公司下屬單位所在地市以及全國幾個主要城市的當(dāng)天天氣情況,如圖1-3所示。
圖1-3 開發(fā)天氣預(yù)報的Portlet
單擊右側(cè)的按鈕進(jìn)入編輯頁面,如圖1-3a所示,這個Portlet允許每個用戶設(shè)置預(yù)報地點(diǎn)。
圖1-3a 天氣預(yù)報Portlet允許每個用戶設(shè)置預(yù)報地點(diǎn)
OK,這個Portlet的View部分就算處理完成了,至于Model和Controller部分,可以添加這些事件的處理方法,用來讀取實(shí)際數(shù)據(jù)。比如,從指定的URL處讀取天氣預(yù)報信息,并存儲到一個對象里,寫入Session,然后在View里面顯示出來。
匿名用戶打開Portal頁面時看到的是一個日歷,Portal用戶登錄后,多出一個“添加日程/日程管理”按鈕,用戶可以在這里添加、管理自己的日程。
個人日程管理字段比較簡單,數(shù)據(jù)并發(fā)處理很少,對數(shù)據(jù)庫要求不高,所以我們選用Access。具體的字段設(shè)置不再贅述。
Portlet首先試圖獲取用戶id,如果id為空,則說明用戶未登錄,此時顯示一個日歷;如果id非空,則顯示個人日程。Portlet會從數(shù)據(jù)庫中檢索此用戶id的日程條目,然后將有日程的日期變?yōu)榧t色,用戶點(diǎn)擊該日期時彈出此日程條目。在日程條目上,用戶可以編輯自己的日程;用戶添加日程時,以Portal取得的用戶id為主鍵,加入數(shù)據(jù)庫。
具體的業(yè)務(wù)流程如下。
通過個人日程的Portlet可以了解當(dāng)前日期及日程安排,如圖1-4所示。
圖1-4 個人日程的Portlet允許每個人定義自己的備忘錄
通過調(diào)整年、月可以看到相應(yīng)的日期。如果該日期有日程安排活動,則會顯示不同的顏色,點(diǎn)擊該日期就可以看到日程安排情況,如圖1-5所示。
單擊“新建日程”,會出現(xiàn)如圖1-6所示的界面,可以添加自己的個人日程。
圖1-5 有消息提醒的日期會在個人日程上以不同的顏色顯示
圖1-6 可以添加自己的個人日程
用戶可以添加日程安排,包括日程標(biāo)題、起始/結(jié)束時間、提醒設(shè)置、日程內(nèi)容等。
其中的起始/結(jié)束時間都可以精確到分鐘?!疤嵝言O(shè)置”中的“循環(huán)提醒”用于設(shè)置該信息是以天還是周、月、年等進(jìn)行循環(huán)來顯示;“開始時間前x分鐘彈出提醒”是根據(jù)用戶的設(shè)置,在該日程開始前多長時間給用戶提醒;“短信提醒”則是通過短信的方式來提醒用戶(目前因?yàn)槎绦牌脚_還沒有建成,所以此功能暫時不能使用)。當(dāng)設(shè)置完成并保存后,安排日程的日期就會變成淺藍(lán)色,且會在“今日提醒”中顯示出來。
日程提醒有三種方式:一是以列表顯示;二是滾動提醒,在“我的工作”頁面的“今日提醒”模塊中進(jìn)行滾動提醒;三是彈出窗口提醒,在“開始前x分鐘彈出提醒”設(shè)定的時間點(diǎn)(服務(wù)器時間),在“我的工作”頁面中彈出窗口進(jìn)行提醒。
1.顯示頁面
這里只顯示比較重要的部分。
2.顯示日程條目
用戶點(diǎn)擊有日程提示的日期時,會彈出該日程。
具體編碼略,我采用的顯示格式如下。
3.增加日程
單擊“增加日程”,可以為登錄用戶添加日程。
4.修改日程
在顯示的日程條目上,單擊“編輯日程”,可以修改此日程條目。
為了使日程顯示界面清晰、美觀,還需要進(jìn)一步美化,美化的過程本書不再介紹。
這個工具Portlet的用途是,很多時候應(yīng)用系統(tǒng)的一些數(shù)據(jù)存儲在Excel表格里,我們需要導(dǎo)出這些數(shù)據(jù),例如:用戶與用戶組信息。
(1)本工具使用了jxl.jar包,所以請先將此包加入到Porltet類庫。當(dāng)然,你也可以直接在Tomcat中調(diào)試,那么目標(biāo)容器是Tomcat,則需要將此文件手工復(fù)制到Tomcat的類庫文件夾里。
(2)將主文件reansfer.jsp復(fù)制到容器目錄下,在瀏覽器里直接訪問該頁面,程序即執(zhí)行。
(3)在默認(rèn)情況下,需要將源文件*.xls復(fù)制到C:\下,生成的文件名稱為:qas_1.txt。
(4)如果需要批量轉(zhuǎn)換,或者需要自己選擇文件、文件夾,則請自行修改代碼。
要開發(fā)這個Portlet,首先需要到網(wǎng)上下載一個Excel轉(zhuǎn)txt的控件,然后新建一個Portlet,在Portlet的顯示層(PortletView.jsp文件)里控制邏輯。
下面是該文件的部分源代碼,僅供參考。
網(wǎng)頁題目:百寶箱:幾乎所有項(xiàng)目都會用到的Portlet開發(fā)
瀏覽路徑:http://aaarwkj.com/article42/iihhec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)