欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Jetspeed JetExpress Tutorial Portal 筆記4 -- po...

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

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

Jetspeed JetExpress Tutorial Portal筆記4

-- portlets開(kāi)發(fā)

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

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

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

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

1.1 為jetexpress項目創(chuàng )建eclipse項目:
# 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項目創(chuàng )建eclipse項目:
# 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項目說(shuō)明

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

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

2. Portlet編寫(xiě)及配置

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

注:這里javax.portlet.GenericPortlet類(lèi)即portlet API。

為BonjourWorld類(lèi)增加對doEdit、doHelp、doView三個(gè)方法的實(shí)現。這里的每個(gè)方法都關(guān)聯(lián)了一個(gè)portlet模式(portlet mode),即對編輯按鈕點(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處理類(lèi)似。
2.2 配置portlet.xml

寫(xiě)好了之后,我們來(lái)編輯portlet.xml文件,為我們的portlet創(chuàng )建一個(gè)portlet描述條目。portlet.xml文件在工程的WEB-INF目錄下,與web.xml同級目錄。注意<supports>里面定義的就是我們剛剛寫(xiě)好的幾個(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 配置頁(yè)面
2.3.1 創(chuàng )建portal site
創(chuàng )建一個(gè)頁(yè)面來(lái)放剛剛創(chuàng )建的portlet。在jetexpress工程(/JetspeedTraining/workspace/jetexpress)里,添加一個(gè)目錄portal/src/webapp/WEB-INF/pages/tutorial/,把它作為我們創(chuàng )建的portal site的根目錄(portal site就是具有樹(shù)狀結構的頁(yè)面)。

2.3.2 編寫(xiě)folder.metadata文件來(lái)描述這個(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 )建默認頁(yè)面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和新的頁(yè)面
# 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 調用默認target,拷貝修改的頁(yè)面到tomcat
mvn 默認為install,生成war文件
cp …  拷貝war文件到tomcat中(熱部署)

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

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

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

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

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

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

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

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久