<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
    主站蜘蛛池模板: 亚洲国产精品狼友中文久久久| 鲁丝片一区二区三区免费 | 久久这里只精品国产免费10| 亚洲第一黄色网址| 欧美激情综合亚洲一二区| 噜噜嘿在线视频免费观看| 亚洲一级在线观看| 免费看成人AA片无码视频羞羞网| 亚洲黄色片在线观看| 91免费福利精品国产| 亚洲视频在线观看不卡| 亚洲成AⅤ人影院在线观看| 国产精品hd免费观看| 亚洲国产欧洲综合997久久| 久久久久久久久久免免费精品 | 亚洲区不卡顿区在线观看| 国产亚洲日韩在线a不卡| 亚洲一区二区三区在线观看精品中文| 国产AV日韩A∨亚洲AV电影| 一本色道久久综合亚洲精品高清| 在线免费观看一级毛片| 人妻免费一区二区三区最新| 少妇人妻偷人精品免费视频 | 久久www免费人成看片| 亚洲综合伊人制服丝袜美腿| 天天看片天天爽_免费播放| 亚洲色偷偷综合亚洲av78| www.91亚洲| a级成人毛片免费视频高清| 亚洲欧洲免费视频| 在线视频免费观看www动漫| 特级无码毛片免费视频| 国产亚洲一区二区三区在线观看 | 成在线人视频免费视频| 久久久久亚洲精品日久生情| 大学生高清一级毛片免费| 午夜不卡AV免费| 久久亚洲sm情趣捆绑调教| 国产成人免费A在线视频| 久久永久免费人妻精品| 亚洲人成人网毛片在线播放|