﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-JavavaJ——无尽的死循环</title><link>http://www.blogjava.net/herohoy/</link><description>这是一场没有结束的投入和一个无尽的漩涡甚至一个不知边界的子宇宙。</description><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 02:00:43 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 02:00:43 GMT</pubDate><ttl>60</ttl><item><title>开场白以及收集来的liferay_portal资料</title><link>http://www.blogjava.net/herohoy/archive/2011/07/19/354622.html</link><dc:creator>苗观</dc:creator><author>苗观</author><pubDate>Tue, 19 Jul 2011 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/herohoy/archive/2011/07/19/354622.html</guid><wfw:comment>http://www.blogjava.net/herohoy/comments/354622.html</wfw:comment><comments>http://www.blogjava.net/herohoy/archive/2011/07/19/354622.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/herohoy/comments/commentRss/354622.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/herohoy/services/trackbacks/354622.html</trackback:ping><description><![CDATA[<p>目前正从事软件实施工作，但是自认对于开发的热情还没有消减多少，因此记下一些开始的话，提醒自己不要失去那份已然老去的追求。<br />以下：liferay_portal中的portlet配置文件相关资料：<br /></p>
<p>portlet.xml</p>
<p>portlet定义描述文件，它描述portlet的类型，支持Mode, preferenes和role等，遵循JSR168标准实现，以便于移植（需要针对性的做一些小改过）。</p>
<p>下面是一个简单的定义:</p>
<p>&nbsp;〈portlet〉<br />&nbsp; 〈portlet-name〉2〈/portlet-name〉<br />&nbsp; 〈display-name〉My Account〈/display-name〉<br />&nbsp; 〈!-- portlet的实现类 --〉<br />&nbsp; 〈portlet-class〉com.liferay.portlet.StrutsPortlet〈/portlet-class〉<br />&nbsp; 〈init-param〉<br />&nbsp;&nbsp; 〈name〉view-action〈/name〉<br />&nbsp;&nbsp; 〈value〉/my_account/view〈/value〉<br />&nbsp; 〈/init-param〉<br />&nbsp; 〈expiration-cache〉0〈/expiration-cache〉<br />&nbsp; 〈supports〉<br />&nbsp;&nbsp; 〈mime-type〉text/html〈/mime-type〉<br />&nbsp; 〈/supports〉<br />&nbsp; 〈resource-bundle〉com.liferay.portlet.StrutsResourceBundle〈/resource-bundle〉<br />&nbsp;〈/portlet〉<br /></p>
<p>其中各项的含义为：</p>
<p>portlet-name 描述此Portlet的规定名称，这个名称必须是唯一不重复的。<br />display-name 记录此Portlet在Portal中的显示名称，在将Portlet加入到Portal中时如果看到了这个名字，那么就可以找到现在编写的这个Portlet组件，此名称不必是唯一的。<br />portlet-class 描述与此Portlet对应的Java类的完整路径。<br />init-param 通过name/value对的形式指定此Portlet初始化时的参数。<br />expiration-cache 定义Portlet输出缓存的超时时间，以秒为单位，超出这里指定的时间后就认为Portlet的输出已经超时了，如果这里是-1则说明输出永远不超时。<br />supports 包括所支持的MIME格式，同时定义对一种特定的MIME格式，此Portlet所支持的模式，所有的Portlet都必须支持View模式。</p>
<p><br /></p>
<p>在JSR168标准中，定义了view/edit/help三种模式，<br />liferay对其进行了扩展，增加了config/about/preview/print等模式。</p>
<p><br />liferay-portlet.xml</p>
<p>liferay的portlet定义描述文件，是liferay对portlet.xml的扩展描述，允许我们对portlet的呈现、功能和行为进行更深入的定制。<br />它与com.liferay.portal.model.Portlet类对应，</p>
<p>下面是一个较为详细的liferay-portlet定义：<br />&nbsp;〈portlet〉<br />&nbsp; 〈portlet-name〉19〈/portlet-name〉<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 〈!-- struts路径 --〉<br />&nbsp; 〈struts-path〉message_boards〈/struts-path〉<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 〈!-- 配置路径 --〉<br />&nbsp; 〈configuration-path〉/message_boards/edit_configuration〈/configuration-path〉<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 〈!-- lucene索引类 --〉<br />&nbsp; 〈indexer-class〉com.liferay.portlet.messageboards.util.Indexer〈/indexer-class〉<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 〈!-- url处理类 --〉<br />&nbsp; 〈portlet-url-class〉com.liferay.portlet.messageboards.MBFriendlyPortletURL〈/portlet-url-class〉<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 〈!-- 友好url插件类 --〉<br />&nbsp; 〈friendly-url-plugin-class〉com.liferay.portlet.messageboards.MBFriendlyURLPortletPlugin〈/friendly-url-plugin-class〉&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp; 〈preferences-unique-per-layout〉false〈/preferences-unique-per-layout〉<br />&nbsp; 〈use-default-template〉false〈/use-default-template〉<br />&nbsp; 〈restore-current-view〉false〈/restore-current-view〉<br />&nbsp; 〈private-request-attributes〉false〈/private-request-attributes〉<br />&nbsp;〈/portlet〉</p>
<p>&nbsp;</p>
<p>liferay-display.xml</p>
<p>portlet的类别定义文件，下面是一个简单的例子:</p>
<p>&nbsp;〈category name="category.admin"〉<br />&nbsp; 〈portlet id="9" /〉<br />&nbsp; 〈portlet id="40" /〉<br />&nbsp; 〈portlet id="79" /〉<br />&nbsp; 〈portlet id="80" /〉<br />&nbsp;〈/category〉</p>
<p>要注意的是，在portlet.xml/liferay-portlet.xml/liferay-display.xml三个文件中的portlet-name, portlet-id必须是一致的。<br /></p>
<p><br />PS：当我接触到如liferay般甚至比之更复杂的应用技术之时，我便明白，当年那种依靠AWT和Swing写出一个仅供娱乐的小程序的时代已经一去不复返了&#8230;&#8230;</p>
<p>PS2：以上与liferay有关的资料来自网络，其中一部分来自CSDN博客中<span>dream_zh</span>的专栏，还有一部分来源忘记了，若有侵权，敬请告知。</p><img src ="http://www.blogjava.net/herohoy/aggbug/354622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/herohoy/" target="_blank">苗观</a> 2011-07-19 14:24 <a href="http://www.blogjava.net/herohoy/archive/2011/07/19/354622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>