目前正从事软件实施工作,但是自认对于开发的热情还没有消减多少,因此记下一些开始的话,提醒自己不要失去那份已然老去的追求。
以下: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的专栏,还有一部分来源忘记了,若有侵权,敬请告知。