目前正從事軟件實施工作,但是自認對于開發的熱情還沒有消減多少,因此記下一些開始的話,提醒自己不要失去那份已然老去的追求。
以下:liferay_portal中的portlet配置文件相關資料:
portlet.xml
portlet定義描述文件,它描述portlet的類型,支持Mode, preferenes和role等,遵循JSR168標準實現,以便于移植(需要針對性的做一些小改過)。
下面是一個簡單的定義:
〈portlet〉
〈portlet-name〉2〈/portlet-name〉
〈display-name〉My Account〈/display-name〉
〈!-- portlet的實現類 --〉
〈portlet-class〉com.liferay.portlet.StrutsPortlet〈/portlet-class〉
〈init-param〉
〈name〉view-action〈/name〉
〈value〉/my_account/view〈/value〉
〈/init-param〉
〈expiration-cache〉0〈/expiration-cache〉
〈supports〉
〈mime-type〉text/html〈/mime-type〉
〈/supports〉
〈resource-bundle〉com.liferay.portlet.StrutsResourceBundle〈/resource-bundle〉
〈/portlet〉
其中各項的含義為:
portlet-name 描述此Portlet的規定名稱,這個名稱必須是唯一不重復的。
display-name 記錄此Portlet在Portal中的顯示名稱,在將Portlet加入到Portal中時如果看到了這個名字,那么就可以找到現在編寫的這個Portlet組件,此名稱不必是唯一的。
portlet-class 描述與此Portlet對應的Java類的完整路徑。
init-param 通過name/value對的形式指定此Portlet初始化時的參數。
expiration-cache 定義Portlet輸出緩存的超時時間,以秒為單位,超出這里指定的時間后就認為Portlet的輸出已經超時了,如果這里是-1則說明輸出永遠不超時。
supports 包括所支持的MIME格式,同時定義對一種特定的MIME格式,此Portlet所支持的模式,所有的Portlet都必須支持View模式。
在JSR168標準中,定義了view/edit/help三種模式,
liferay對其進行了擴展,增加了config/about/preview/print等模式。
liferay-portlet.xml
liferay的portlet定義描述文件,是liferay對portlet.xml的擴展描述,允許我們對portlet的呈現、功能和行為進行更深入的定制。
它與com.liferay.portal.model.Portlet類對應,
下面是一個較為詳細的liferay-portlet定義:
〈portlet〉
〈portlet-name〉19〈/portlet-name〉
〈!-- struts路徑 --〉
〈struts-path〉message_boards〈/struts-path〉
〈!-- 配置路徑 --〉
〈configuration-path〉/message_boards/edit_configuration〈/configuration-path〉
〈!-- lucene索引類 --〉
〈indexer-class〉com.liferay.portlet.messageboards.util.Indexer〈/indexer-class〉
〈!-- url處理類 --〉
〈portlet-url-class〉com.liferay.portlet.messageboards.MBFriendlyPortletURL〈/portlet-url-class〉
〈!-- 友好url插件類 --〉
〈friendly-url-plugin-class〉com.liferay.portlet.messageboards.MBFriendlyURLPortletPlugin〈/friendly-url-plugin-class〉
〈preferences-unique-per-layout〉false〈/preferences-unique-per-layout〉
〈use-default-template〉false〈/use-default-template〉
〈restore-current-view〉false〈/restore-current-view〉
〈private-request-attributes〉false〈/private-request-attributes〉
〈/portlet〉
liferay-display.xml
portlet的類別定義文件,下面是一個簡單的例子:
〈category name="category.admin"〉
〈portlet id="9" /〉
〈portlet id="40" /〉
〈portlet id="79" /〉
〈portlet id="80" /〉
〈/category〉
要注意的是,在portlet.xml/liferay-portlet.xml/liferay-display.xml三個文件中的portlet-name, portlet-id必須是一致的。
PS:當我接觸到如liferay般甚至比之更復雜的應用技術之時,我便明白,當年那種依靠AWT和Swing寫出一個僅供娛樂的小程序的時代已經一去不復返了……
PS2:以上與liferay有關的資料來自網絡,其中一部分來自CSDN博客中dream_zh的專欄,還有一部分來源忘記了,若有侵權,敬請告知。