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

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

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

    隨筆-86  評論-767  文章-3  trackbacks-3

    第二部分 Liferay Portal 二次開發

    本部分主要內容

    GenericPortlet 自定義Portlet 部署描述文件

    第三章 開發自己的Portlet

    在了解了Liferay Portal的基礎架構,初步體會Liferay Portal良好的個性化定制之后,本章將開始Liferay Portal二次開發之旅,講述并擴展Portlet的超類GenericPortlet,創建或者修改部署描述文件,構建屬于自己的Portlet

    第一節? 重要的基類:GenericPortlet

    Servlet一樣,編寫的Portlet也必須直接或者間接的擴展基類GenericPortlet,這個是由JCP針對Portal提出的JSR168規范定義的。只要擴展自規范的GenericPortlet,所有的Portlet都可以在支持JSR168規范的Portal服務器上運行。

    GenericPortlet統一定義了可供Portal容器識別和調用的方法,包括:

    public Init():初始化;

    public Init(PortletConfig) :初始化;

    public getInitParameter(String):取得在Portlet.xml中定義的初始化參數;

    public getInitParameterNames():取得在Portlet.xml中定義的全部初始化參數;

    public getPortletConfig():取得包含初始化參數的配置對象PortletConfig實例;

    public getPortletContext():取得Portlet上下文;

    public getPortletName():取得在Portlet.xml中定義的Portlet名稱。

    public getResourceBundle(Locale) :取得Portlet國際化的Resource Bundle

    protected getTitle(RenderRequest) :取得Portlet的標題;

    protected doView(RenderRequestRenderResponse) Portlet瀏覽模式的處理方法;

    protected doEdit(RenderRequestRenderResponse) Portlet編輯模式的處理方法;

    protected doHelp(RenderRequestRenderResponse) Portlet幫助模式的處理方法;

    protected doDispatch(RenderRequestRenderResponse) Portlet行為分發;

    protected processAction(RenderRequestRenderResponse) Portlet處理Action Request的方法;

    protected render(RenderRequestRenderResponse)Portal處理Render Request的方法;

    public destroy()Portlet銷毀,終止其生命周期。

    Portlet Portal運行的時候,doViewdoEditdoHelp三個方法分別被調用,用以生成Portlet標記。同樣也可以調用Servlet生成Portlet標記,或者不調用JSP或者Servlet,直接在方法中得到PrintWriter然后用最簡單的pw.println()打印出內容。這個過程類似Servlet,如下:

    PrintWriter pw = renderResponse.getWriter();

    pw.println(“Helloworld!”);

    Servlet類似,可以使用getInitParamter(String s)得到配置文件中Portlet的初始值,只不過Servletweb.xml中,而Portletportlet.xml中。

    portlet.xml

    ?????? jspView

    ?????? /jsp/view.jsp


    針對如上portlet.xml中的初始化信息,可以采用如下的調用方式:

    SimplePortlet.java

    String jspName = getPortletConfig().getInitParameter("jspView");

    第二節? Portlet標簽

    Servlet一樣,Portlet也自定義了很多靈活的標簽。通過這些標簽,可以調用Portlet內部的參數比如renderResponserenderRequestPortletConfig等,在JSP中跟Portlet通信。當然,在使用之前,除了要在web.xml中聲明標簽庫外,還要在JSP的頭部聲明標簽庫調用:<%@ taglib uri="http://java.sun.com/Portlet" prefix="Portlet" %>

    3.2.1? defineObjects標簽

    在使用Portlet典型標簽之前,要見聲明,這樣才可以使用其他的標簽。defineObjects中間不允許定義任何屬性和包含任何內容。

    3.2.2? renderURL標簽

    屬性

    值類型

    對應值

    windowState

    String

    minimized

    normal

    maximized

    ?

    PortletMode

    String

    view edit help

    var

    String

    ?

    secure

    ?

    String

    true

    false

    創建一個當前RenderURL,當訪問它時將使Portlet窗口變為最大化狀態,模式變為瀏覽。子元素會在生成的RenderURL中增加numberpage兩個參數和值。

    3.2.3? actionURL標簽

    屬性

    值類型

    對應值

    windowState

    String

    minimized

    normal

    maximized

    ?

    portletMode

    String

    view edit help

    var

    String

    ?

    secure

    ?

    String

    true

    false

    創建一個當前ActionURL,當訪問它時將使Portlet窗口變為正常狀態,模式變為編輯。子元素會在生成的ActionURL中增加action參數和值。

    renderURLactionURL兩個標簽在諸如生成form表單的action等方面特別有用。

    3.2.4? param標簽

    屬性

    值類型

    name

    String

    用在renderURLactionURL標簽內部,用來在生成的URL中增加參數和值。param標簽不運行body內容存在。

    3.2.5? namespace標簽

    為目前的Portlet產生一個唯一的Value,防止與其他Portlet或者Portal上面的Value沖突。

    上述標簽的具體屬性及其約束,請參閱{PORTAL_HOME}/liferay/WEB-INF/tld/liferay-portlet.tld

    posted on 2005-10-21 09:11 eamoi 閱讀(4560) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 免费观看无遮挡www的视频| 日韩大片免费观看视频播放| 日韩精品人妻系列无码专区免费| 久久99青青精品免费观看| 久久精品亚洲中文字幕无码网站 | 色影音免费色资源| 亚洲五月六月丁香激情| 精品成人免费自拍视频| 婷婷亚洲综合五月天小说| 2021精品国产品免费观看| 亚洲成av人片在线看片| 亚洲w码欧洲s码免费| 亚洲一本之道高清乱码| 在线a毛片免费视频观看| 蜜桃传媒一区二区亚洲AV| 亚洲国产精品综合久久一线| 无码AV动漫精品一区二区免费| 四虎影视永久免费观看网址| 一级做受视频免费是看美女| 久久精品国产精品亚洲精品| 最近免费中文在线视频| 亚洲已满18点击进入在线观看| 成年女性特黄午夜视频免费看| 亚洲精品无码久久久久牙蜜区| 国产免费午夜a无码v视频| 国产线视频精品免费观看视频| 精品国产亚洲一区二区三区| 免费观看激色视频网站bd| 亚洲AV第一成肉网| 亚洲尤码不卡AV麻豆| 国产福利视精品永久免费| 日韩国产欧美亚洲v片| 亚洲热线99精品视频| 国产精品久久免费| 黄页网站在线观看免费| 亚洲国产精久久久久久久| 麻豆国产人免费人成免费视频| 亚洲AV成人无码久久WWW| 亚洲精品成人片在线观看精品字幕 | 国产成人精品久久免费动漫 | 亚洲福利视频一区|