<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kapok

    垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks

    http://wsx23410.blogchina.com/blog/article_95465.511451.html

    Portlet開發基知識。

    1.portlet.xml文件,放置在WEB_INF/portlet.xml下面。典型的例子:

    <portlet>
    <description>Description goes here</description>
    <portlet-name>first</portlet-name>
    <portlet-class>com.malani.examples.portlets.jsr168.FirstPortlet
    </portlet-class>
    <portlet-info>
    <title>First</title>
    </portlet-info>
    </portlet>

    portlet-class就是實現的類??梢院蛍eb.xml對照比較一下。

    2.實現的Portlet類。和傳統的servlet一樣,portal容器來管理protlet的生命周期。它必須實現javax.portlet.Portlet接口。但是jsr168標準提供了一個方便類:GenericPortlet你可以直接
    繼承它就ok了。

    1)生命周期,同servlet一樣Portlet必須有自己生命周期。這定義在javax.portlet.Portlet接口中。它的方法是:init(),render(),processAction(),destroy().但創建portlet實例的時候調用init()方法。它完成一些需要花費昂貴的資源的動作。但實例被銷毀的時候,容器調用destroy方法來釋放這些資源。

    Portlet規范清晰的區分了render請求和action請求的區別。renderRequest()會調用該portlet上的render()方法,actionRequst()會調用processAction()方法.要注意的是一次用戶完整的請求將是:portal頁面上的所有的protlet的 render()調用,該請求protlet的processAction()調用。具體看圖:

    3.Portlet模式

    VIEW模式是你必須實現的,EDIT,HELP模式是可選的。你可以通過修改doEdit()和doHelp()
    方法來實現這些模式。另外還需要在portlet.xml配置模式:

    <supports>
    <mime-type>text/html</mime-type>
    <portlet-mode>edit</portlet-mode>
    <portlet-mode>help</portlet-mode>
    </supports>

    修改本文件但沒有實現該模式容器會拋出javax.portlet.PortletException異常.

    實現window狀態,注意JSR 168并沒有對這個進行規定,但webLogic 完成了:

    <portlet>
    <portlet-name>state</portlet-name>
    <supports>
    <mime-type>text/html</mime-type>
    <excluded-window-state>minimized</excluded-window-state>
    <excluded-window-state>maximized</excluded-window-state>
    </supports>
    </portlet>

    包含JSP文件:

    上面的例子中我們在doView方法中通過方法得到Writer實例,這樣可以輸出HTML片斷。但是,
    我們并不推薦您這樣做。我們推薦您使用JSP來達到視圖-java的分離。為了包含一個特定的jsp
    首先你必須得到PortletContext.在PortletContext中,通過調用getRequestDispatcher()方法
    得到PorletRequestDispatcher,通過它的includer()方法來包含JSp例如;
    // execute the necessary logic here...
    PortletRequestDispatcher aDispatcher =
    getPortletContext().getRequestDispatcher(
    "/IncludePortlet/includeView.jsp"
    );
    aDispatcher.include(aRequest, aResponse);

    處理動作

    在標準的web應用程序中,提交表單,或者一個動作url常見的。JSR168規范中定義了portlet taglib
    來幫助我們完成這些工作:

    <form action="<portlet:actionURL/>" method="post">
    ...
    </form>

    提交的話會自動調用該portlet的processAction(ActionRequest aRequest, ActionResponse aResponse)方法,這就跟你傳統方式一樣了reqeust的getParameter()或者是getAttribute()來
    得到傳來的參數。

    processAction()方法設置response對象中的值。不要使用ActionRequest或ActionResponse對象的setAttribute()方法。值不會從processAction()傳遞到render()方法,而且在JSP中是不可用的。相反要使用ActionResponse對象的setRenderParameter()方法。這些render參數將對所有后續render請求可用,這一點與典型的Web應用程序請求屬性很不相同。典型的Web application請求屬性只對于一個請求可用。另一方面,render請求參數對于許多后續render請求可用。render參數保持可用直到值被動作的重新執行顯式地修改或刪除。

    所呈現的參數是怎樣顯示在JSP上的呢?應使用來自portlet標簽庫的defineObjects標簽來定義portlet對象。該標簽使renderRequest、renderResponse和portletConfig portlet對象在頁面中可用。參數通過調用renderRequest對象的getParameter()方法來顯示。請參考與所包含的源代碼示例中的favoriteColorView.jsp。

      portlet FavoriteColor也展示了其他概念。第一個是如何在processAction()方法中用編程的方法改變portlet模式。調用ActionResponse對象的setPortletMode()方法來修改portlet模式。第二個概念是如何使用一個HTML鏈接來修改portlet模式。該鏈接使用來自portlet標簽庫的renderURL標簽生成。根據希望的portlet模式指定portletMode屬性的值。請參考源代碼示例中的FavoriteColorPortlet類和favoriteColorView.jsp頁面。

    posted on 2005-04-22 12:27 笨笨 閱讀(2147) 評論(0)  編輯  收藏 所屬分類: J2EE 、ALL 、Weblogic Portal
    主站蜘蛛池模板: 亚洲成av人片不卡无码久久| 亚洲美女免费视频| 免费永久在线观看黄网站| 性xxxx黑人与亚洲| 野花高清在线观看免费3中文 | 免费人成网站在线播放| 亚洲中文字幕乱码AV波多JI| 又黄又爽又成人免费视频| 亚洲国产成人精品久久| 亚洲成在人线aⅴ免费毛片| 亚洲日本va在线观看| 午夜电影免费观看| 国产亚洲高清在线精品不卡| 亚洲AV无码一区二区三区国产| 一个人看的www免费高清| 亚洲午夜久久久久久噜噜噜| 嫩草在线视频www免费观看| 亚洲视频一区调教| 成人免费午夜无码视频 | 亚洲Av永久无码精品黑人| 拔擦拔擦8x华人免费久久| 羞羞视频在线免费观看| 国产成人精品曰本亚洲79ren| 好男人资源在线WWW免费| 亚洲AV成人精品网站在线播放| 18禁无遮挡无码国产免费网站| 亚洲人妖女同在线播放| 日韩免费高清视频| 国产免费一级高清淫曰本片| 亚洲成a人片在线观看无码| 亚洲免费闲人蜜桃| 久久久久亚洲精品无码网址色欲| 一本久久综合亚洲鲁鲁五月天| 久久久久久久99精品免费 | 亚洲欧洲自拍拍偷综合| 免费视频中文字幕| 久久高潮一级毛片免费| 亚洲精品成人图区| 亚洲国产天堂久久久久久| 香港a毛片免费观看| 亚洲国产精品ⅴa在线观看|