Portlet描述文件通过portlet.xml文件定义application portlet和conrete portlet。这一节将介绍portlet.xml的定义。
Portlet描述文件有下面的结构:
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app-collection> <!--[if !vml]--><!--[endif]-->
<portlet-app-def> <!--[if !vml]--><!--[endif]-->
<portlet-app ...> <!--[if !vml]--><!--[endif]-->
<concrete-portlet-app ...> <!--[if !vml]--><!--[endif]-->
<concrete-portlet-app ...>
</portlet-app-def>
</portlet-app-collection>
<!--[if !vml]--><!--[endif]--> |
portlet-app-collection定义portlet的集合 |
<!--[if !vml]--><!--[endif]--> |
portlet-app-def定义了application porlet和多个conrete portlet |
<!--[if !vml]--><!--[endif]--> |
portlet-app提供了一个application portlet的定义 |
<!--[if !vml]--><!--[endif]--> |
concrete-portlet-app提供了一个concrete portlet的定义 |
一个具体portlet定义了conrete portlet的属性。一个application portlet可以有多个conrete portlet。
<concrete-portlet-app id="org.myorganization.portlets.myportlet.1"> <!--[if !vml]--><!--[endif]-->
<context-param> <!--[if !vml]--><!--[endif]-->
<param-name>buzzle</param-name>
<param-value>yea</param-value>
</context-param>
<concrete-portlet> <!--[if !vml]--><!--[endif]-->
<portlet-name>Hello World 1</portlet-name> <!--[if !vml]--><!--[endif]-->
<default-locale>en</default-locale> <!--[if !vml]--><!--[endif]-->
<language locale="en_US"> <!--[if !vml]--><!--[endif]-->
<title>Hello World - Sample Portlet #1</title> <!--[if !vml]--><!--[endif]-->
<title-short>Hello World</title-short> <!--[if !vml]--><!--[endif]-->
<description>Here is a simple portlet</description> <!--[if !vml]--><!--[endif]-->
<keywords>portlet hello world</keywords> <!--[if !vml]--><!--[endif]-->
</language>
<language locale="zh_CN">
<title>您好#1</title>
<title-short>您好 </title-short>
<description>久违了</description>
<keywords>问候</keywords>
</language>
<allowed-access visibility="PRIVATE" role="ADMIN"/> <!--[if !vml]--><!--[endif]-->
<config-param> <!--[if !vml]--><!--[endif]-->
<param-name>a config parameter</param-name>
<param-value>a config value</param-value>
</config-param>
</concrete-portlet>
</concrete-portlet-app>
<!--[if !vml]--><!--[endif]--> |
Id是conrete portlet的指示符,由application portlet Id加上一个整数组成。一般来说,由1开始递增 |
<!--[if !vml]--><!--[endif]--> |
(可选)定义了portlet context信息,由PortletApplicationSettings 对象封装 |
<!--[if !vml]--><!--[endif]--> |
concrete portlet,用作产生PortletSettings对象 |
<!--[if !vml]--><!--[endif]--> |
(可选)conrete portlet的指示符 |
<!--[if !vml]--><!--[endif]--> |
(可选) 缺省的locale |
<!--[if !vml]--><!--[endif]--> |
(可选) 其他的locale |
<!--[if !vml]--><!--[endif]--> |
(可选)title |
<!--[if !vml]--><!--[endif]--> |
(可选) 更简短的title,可以被用作WML设备上显示 |
<!--[if !vml]--><!--[endif]--> |
(可选) 摘要 |
<!--[if !vml]--><!--[endif]--> |
(可选) 关键字 |
<!--[if !vml]--><!--[endif]--> |
(可选) 定义了用户浏览这个portlet的时候的可视化属性。Allowed 的值有两个 PRIVATE 和PUBLIC. Role属性哪个角色可以访问这个portlet。 可用的值是在PortletRole 对象中定义的值 |
<!--[if !vml]--><!--[endif]--> |
附加的concrete portlet 设置,可以通过PortletSettings 对象取得 |