经常在代码中看到Portlet的ID。怎么一目了然知道这个ID所代表的Portlet。
比如/liferay-portal-src-6.0.5/portal-web/docroot/WEB-INF/liferay-portlet.xml中的有如下的设置。
<portlet>
<portlet-name>3</portlet-name>
<icon>/html/icons/search.png</icon>
<struts-path>search</struts-path>
。。。。。
</portlet>
又比如/liferay-portal-src-6.0.5/portal-web/docroot/WEB-INF/liferay-display.xml中的如下设置。
<category name="category.collaboration">
<portlet id="8" />
<portlet id="19" />
<portlet id="33" />
<portlet id="36" />
<portlet id="114" />
<portlet id="115" />
</category>
在改造的时候,只看这些ID是很头疼的,如果对照其名字就好理解多了。
如何查看对应ID的名字呢?
去语言配置文件中查找比较方便。搜索key:javax.portlet.title. + Portlet的ID
比如英语的Portlet名字在/liferay-portal-src-6.0.5/portal-impl/src/content/Language_en.properties里面搜索就可以知道。
javax.portlet.title.100=Invitation
javax.portlet.title.101=Asset Publisher
javax.portlet.title.102=XSL Content
javax.portlet.title.104=Update Manager
javax.portlet.title.107=Page Comments
javax.portlet.title.108=Page Ratings
javax.portlet.title.10=Address Book
javax.portlet.title.110=Document Library Display
javax.portlet.title.111=Plugin Installer
javax.portlet.title.112=OpenID Login
javax.portlet.title.113=Portlet CSS
.........
还有在编码的时候,如果不知道Portlet的ID是多少的话,最好使用PortletKeys类里面定义的宏定义。
public class PortletKeys {
public static final String ACTIVITIES = "116";
public static final String ADMIN = "9";
public static final String ADMIN_INSTANCE = "135";
public static final String ADMIN_PLUGINS = "136";
public static final String ADMIN_SERVER = "137";
.................
}