乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Portlet應(yīng)用開發(fā)實例

       cecho 2007-03-25
      目的:
             開發(fā)一個符合JSR-168標(biāo)準(zhǔn)的Portlet應(yīng)用,將其部署到Jetspeed2上。熟悉Portlet應(yīng)用的開發(fā)過程和了解Jetspeed2對Portlet應(yīng)用的支持情況。
       
      背景資料:
             JSR-168標(biāo)準(zhǔn):由Java Community Process(JCP)于2003年10月7日發(fā)布的Portlet Specification 1.0最終版本。定義了Portlet應(yīng)用的標(biāo)準(zhǔn)接口。獲得業(yè)界的廣泛支持。
       
      內(nèi)容:
             1、Portlet應(yīng)用代碼
             本文中的介紹的Portlet應(yīng)用是由IBM developerworks提供的一個簡單Hello World示例。包括了doView方法顯示一個jsp頁面。使用Portlet中的processAction方法處理jsp中From表單提交的數(shù)據(jù),并把得到的數(shù)據(jù)放到一個Java Bean中,該Java Bean又被放到PortletSession中供jsp文件調(diào)用。具體說明和源碼下載可參見:
       
             2、編輯打包
             在編輯時需要兩個標(biāo)準(zhǔn)類庫:portlet-api-1.0.jar和pluto-1.0.1.jar。
             注意:在打包時不要將這兩個類庫包含進(jìn)去。因為在Tomcat/shared/lib里已經(jīng)有了,不然就會報Cannot create Portlet instance錯誤。
             使用JDK的jar命令把項目文件打包成web archive 文件。
       
             3、發(fā)布
             將打包生成的HelloWorld.war文件拷貝到/jetspeed/WEB-INF/deploy目錄下即可。系統(tǒng)會自動部署到Portal中。
       
             4、調(diào)用
             在頁面編輯狀態(tài)下,點擊新增Portlet會出現(xiàn)“Portlet選擇器”。里面會新增一個“HelloWorld portlet”應(yīng)用。選中后確定就可將其添加到頁面中。
       
             除此之外還有個更簡單的辦法可以顯示portlet。在/jetspeed/WEB-INF/pages目錄下的default-page.psml文件中增加一個fragment定義。
      <fragment id="dp-19" type="portlet" name="HelloWorld::HelloWorldPortlet">
                 <property name="row" value="6"/>
                 <property name="column" value="0"/>
      </fragment>
             其中:
                 id 為任意項
                 name 為${portlet.application.id}和${portlet.name}的組合。
                 ${portlet.application.id}是實際的war文件名;${portlet.name}為在portlet.xml中定義的<portlet-name>。
                row ,column為頁面中的位置。
       
             5、錯誤及解決方法
             將應(yīng)用部署到頁面后發(fā)現(xiàn)不能正常顯示,報Portlet is Not Available錯誤。
      經(jīng)過對日志分析,原來jetspeed2不支持PropertyManager容器服務(wù)。在代碼里使用了renderRequest.getProperty("wps.markup")獲得這個初始化參數(shù)的值。
             修改程序通過初始化來獲得參數(shù)的值。
      private static String defaultMarkupSource = "";
       
          /**
           * Initialize portlet configuration.
           */
          public void init(PortletConfig config) throws PortletException
            {
              super.init(config);
       
              defaultMarkupSource = config.getInitParameter("wps.markup");
            }
       
      private static String getJspFilePath(RenderRequest request, String jspFile)
            {
              //String markup = request.getProperty("wps.markup");
              String markup = defaultMarkupSource;
       
              if (markup == null)
                {
                  markup = getMarkup(request.getResponseContentType());
                }
       
              return JSP_FOLDER + markup + "/" + jspFile + "." +
              getJspExtension(markup);
            }
       
             重新編譯部署,應(yīng)用即可正常顯示。
       
      總結(jié):
             Jetspeed2.0支持JSR-168標(biāo)準(zhǔn),Portlet應(yīng)用可方便地部署到Jetspeed2.0上,操作非常便捷。應(yīng)用可正常運行。不足之處就是不支持Property Manager服務(wù),造成一些Portlet應(yīng)用的移植困難。
       
      參考資料:
             楊江,《Hello World,一個簡單的JSR 168 portlet》,

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多