国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Jetspeed JetExpress Tutorial Portal 筆記4 -- po...

Jetspeed JetExpress Tutorial Portal 筆記4 -- portlets開發(fā)

Category: Jetspeed, Author: admin, Popularity: 4% [?]

Jetspeed JetExpress Tutorial Portal筆記4

-- portlets開發(fā)

0. 前言
本文主要介紹基于Java Portlet API的Portlet開發(fā)。
包括的內(nèi)容:

  • Eclipse集成
  • Portlet編寫,portlet.xml配置
  • 高級(jí)Portlet編程

說明:本系列文章并不是Jetspeed Tutorial JetExpress的完全翻譯,關(guān)注點(diǎn)是其流程和其中容易出錯(cuò)的地方,及做Jetspeed二次開發(fā)比較關(guān)注的Jetspeed本身涉及的內(nèi)容,因此原文中的圖,只要不涉及Jetspeed原理及架構(gòu)等的,都不會(huì)貼圖。并且內(nèi)容上可能并不完全一樣,會(huì)把作者自己的一些心得和注意事項(xiàng)隨時(shí)加入到需要的地方。

1. Eclipse集成
使用maven生成eclipse項(xiàng)目文件,導(dǎo)入到eclipse中即可。maven能夠?yàn)閑clipse生成project文件和classpath文件,并且能夠自動(dòng)添加依賴關(guān)系(主要指編譯時(shí)依賴的jar)。

1.1 為jetexpress項(xiàng)目創(chuàng)建eclipse項(xiàng)目:
# Linux 
cd /JetspeedTraining/workspace/jetexpress
mvn eclipse:eclipse
cp portal/.classpath .
cp portal/.project .
# Windows
cd \JetspeedTraining\workspace\jetexpress
mvn eclipse:eclipse
copy portal\.classpath .
copy portal\.project .

1.2 為express-demo項(xiàng)目創(chuàng)建eclipse項(xiàng)目:
# Linux 
cd /JetspeedTraining/workspace/jetexpress/applications/express-demo
mvn eclipse:eclipse
# Windows
cd \JetspeedTraining\workspace\jetexpress\applications\express-demo
mvn eclipse:eclipse

1.3 eclipse項(xiàng)目說明

同樣為express-demo portlet應(yīng)用項(xiàng)目創(chuàng)建eclipse項(xiàng)目。因?yàn)閑clipse不支持maven形式的多項(xiàng)目(基于pom的父子項(xiàng)目),所以為每個(gè)maven管理的項(xiàng)目建立獨(dú)立的eclipse項(xiàng)目。

1.4 設(shè)置eclipse項(xiàng)目
創(chuàng)建好之后,在eclipse中導(dǎo)入即可(類型為workspace中已存在項(xiàng)目)。
導(dǎo)入之后為eclipse添加一個(gè)變量M2_REPO,指向C:/JetspeedTraining/maven/repository(相關(guān)知識(shí)請(qǐng)參閱maven文檔)。
設(shè)置好之后eclipse會(huì)自動(dòng)重新編譯項(xiàng)目(編譯設(shè)置發(fā)生改變時(shí))。
如果喜歡的話,可以安裝eclipse的SVN插件,這樣就可以在eclipse直接訪問jetspeed的SVN庫了(相關(guān)知識(shí)請(qǐng)另行參閱相關(guān)文檔)。

2. Portlet編寫及配置

2.1 編寫Hello World Portlet
在express-demo工程中,為com.bluesunrise.portal.portlets.tutorial包添加BonjourWorld類,繼承javax.portlet.GenericPortlet類。

注:這里javax.portlet.GenericPortlet類即portlet API。

為BonjourWorld類增加對(duì)doEdit、doHelp、doView三個(gè)方法的實(shí)現(xiàn)。這里的每個(gè)方法都關(guān)聯(lián)了一個(gè)portlet模式(portlet mode),即對(duì)編輯按鈕點(diǎn)擊、幫助按鈕點(diǎn)擊和瀏覽portlet時(shí)的處理方法。添加一個(gè)簡(jiǎn)單的輸出如下:
    protected void doView(RenderRequest request, RenderResponse response) throws

PortletException, IOException
    {
        response.setContentType(”text/html”);
        response.getWriter().println(”<b>Bonjour: View Mode</b>”);
    }
doEdit和doHelp處理類似。
2.2 配置portlet.xml

寫好了之后,我們來編輯portlet.xml文件,為我們的portlet創(chuàng)建一個(gè)portlet描述條目。portlet.xml文件在工程的WEB-INF目錄下,與web.xml同級(jí)目錄。注意<supports>里面定義的就是我們剛剛寫好的幾個(gè)方法。
    <portlet>
        <description>Bonjour Monde Portlet</description>  
        <portlet-name>BonjourMonde</portlet-name> 
        <display-name>Bonjour Monde</display-name>
        <portlet-class>com.bluesunrise.portal.portlets.tutorial.BonjourWorld</portlet-class> 
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>VIEW</portlet-mode>
            <portlet-mode>EDIT</portlet-mode>
            <portlet-mode>HELP</portlet-mode>           
        </supports>
        <supported-locale>en</supported-locale>       
     <portlet-info>
        <title>Bonjour Monde</title>
          <short-title>Bonjour</short-title>
          <keywords>tutorial,bonjour,hello</keywords>
       </portlet-info>
    </portlet>
2.3 配置頁面
2.3.1 創(chuàng)建portal site
創(chuàng)建一個(gè)頁面來放剛剛創(chuàng)建的portlet。在jetexpress工程(/JetspeedTraining/workspace/jetexpress)里,添加一個(gè)目錄portal/src/webapp/WEB-INF/pages/tutorial/,把它作為我們創(chuàng)建的portal site的根目錄(portal site就是具有樹狀結(jié)構(gòu)的頁面)。

2.3.2 編寫folder.metadata文件來描述這個(gè)portal資源
<?xml version=”1.0″ encoding=”UTF-8″?>
<folder>
  <title >Tutorial</title> 
  <metadata name=”title” xml:lang=”fr”>Autodidacte</metadata>

  <security-constraints>
    <security-constraints-ref>public-edit</security-constraints-ref>
  </security-constraints>
</folder>

2.3.3 創(chuàng)建默認(rèn)頁面degault-page.psml
<page>
  <defaults layout-decorator=”express-page”
            portlet-decorator=”express-portlet”
            skin=”express”/>
  <title>JetExpress Tutorials</title>
  <short-title>Tutorials</short-title>
  <fragment id=”tutorial-100″ type=”layout” name=”jetspeed-layouts::VelocityTwoColumns”> 
   <fragment id=”express-101″ type=”portlet” name=”express-demo::BonjourMonde”/>
  </fragment>
</page> 
為portlet窗口添加新portlet的引用

2.3.4 部署新的portlet和新的頁面
# Linux 
cd /JetspeedTraining/workspace/jetexpress
ant
cd applications/express-demo
mvn
cp target/express-demo-1.0.war /JetspeedTraining/tomcat-express/webapps/express-demo.war

# Windows
cd \JetspeedTraining\workspace\jetexpress
ant
cd applications\express-demo
mvn
copy target\express-demo-1.0.war \JetspeedTraining\tomcat-express\webapps\express-demo.war

注:命令的含義在筆記3中有相關(guān)描述
ant 調(diào)用默認(rèn)target,拷貝修改的頁面到tomcat
mvn 默認(rèn)為install,生成war文件
cp …  拷貝war文件到tomcat中(熱部署)

3 高級(jí)Portlet編程
直接集成javax.portlet.GenericPortlet的開發(fā)方式雖然可行,但是無論從哪個(gè)角度說都不是最好的方式,因此實(shí)際應(yīng)用中,這樣的應(yīng)用很少(除非應(yīng)用本身及其簡(jiǎn)單)。
對(duì)于大多數(shù)Jetspeed的二次開發(fā)者來說,都希望能用自己最熟悉的技術(shù)來開發(fā)portlets,而Jetspeed剛好提供了這樣的可能。

3.1 Apache Portals Bridges項(xiàng)目介紹
Portals Bridges項(xiàng)目提供了符合JSR-168標(biāo)準(zhǔn)的portlet的多種開發(fā)方式,為開發(fā)者提供了使用自己熟悉的技術(shù)開發(fā)portlet的能力,開發(fā)者可以使用Struts、JSF,甚至PHP、Perl、Velocity等等進(jìn)行portlet的開發(fā)。

3.2 基于Portals Bridges的開發(fā)
本小節(jié)已經(jīng)是對(duì)原文的擴(kuò)展,具體細(xì)節(jié)本文不再詳述,筆者會(huì)在其他文章中描述。

4. 總結(jié)
無論是基于portlet API的開發(fā),還是基于Portals Bridges的開發(fā),流程都比較簡(jiǎn)單,具體的應(yīng)用還需要依賴具體的環(huán)境。

對(duì)于目前涉及到的內(nèi)容來說,還缺少portlet的測(cè)試內(nèi)容,portlet的測(cè)試類似于servlet的測(cè)試,需要依賴于portlet容器,而通過部署到Jetspeed中進(jìn)行集成測(cè)試的話又比較浪費(fèi)時(shí)間和精力,畢竟不能只修改一點(diǎn)代碼就部署一次,因此需要探索更高效和可行的測(cè)試方法。

下一步將研究如果通過Portals Bridges進(jìn)行開發(fā)及portlet的測(cè)試工作。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JetSpeed-2技術(shù)資料 - 專注開源 - 張老三的專欄
jetspeed build
Jetspeed2學(xué)習(xí)筆記(六)
Welcome to Jetspeed-2
Portal實(shí)現(xiàn)原理
Liferay系列文章(四)Portal產(chǎn)品介紹--開放源碼Portal產(chǎn)品
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服