技术开发 频道

groupspace使用IPC创建INTERPORTLET连接

Portlet配置

  Portlet配置文件(.portlet文件)必须与适当的IPC和元数据一起设置,以便参与此框架。本节所描述的代码必须添加到每一个可能响应不同内容链接的portlet配置文件中。例如,在GroupSpace中,与其他所有能够处理显示各种GroupSpance内容类型细节的portlet一样,这些代码存在于Issues portlet和GroupNotes portlet配置文件中。

  BackingFile属性必须添加到<netuix:portlet>元素中。在“支持文件”一节中,我们描述的支持文件完全限定类名称就在这里设置。

backingFile="fully qualified class name of the backing file"

  下面的元数据条目作为子级添加到<netuix:potlet>元素中。

<netuix:meta name="gsLink_contentType" content="ISSUE"/> <netuix:meta name="gsLink_idAttrName" content="contentId"/>

  这些元数据提供把信息添加到portlet的机制,portlet必须能够处理相关的内容类型(见支持文件一节代码示例第18行)。它也表明希望设置内容ID的属性的名称(见事件处理程序一节代码示例第15行)。此内容ID将引用惟一标识最初被点击的内容的字符串。

  接着,添加下面与IPC相关的元素:

<netuix:handleCustomEvent eventLabel="linkClickedEvent" event="gsLink_linkClickedEvent" onlyIfDisplayed="false"> <netuix:invokeBackingFileMethod method="gsLink_evalLinkHandler"/> </netuix:handleCustomEvent> <netuix:handleCustomEvent eventLabel="showDetailsEvent" event="gsLink_showDetailsEvent" onlyIfDisplayed="false" fromSelfInstanceOnly="true"> <netuix:activatePage/> <netuix:invokePageFlowAction action="selectContent"/> </netuix:handleCustomEvent>

  为portlet配置好两个事件处理程序。第一个处理程序在linkClickedEvent被触发时执行,见支持文件一节的代码示例第65行。这个事件表明一个链接被点击了。动作将调用支持文件的gsLink_evalLinkHandker()方法,见事件处理程序一节中的代码示例。

  在事件处理程序一节中,当代码示例第32行的showDetailsEvent被触发时,下一个事件处理程序执行。此事件处理程序只响应自身生成的事件。所以,这将只在确定能够显示特定内容类型的portlet中执行。这个事件处理程序执行两种动作。它首先激活包含此portlet的当前页。接下来,调用一个特定的页面流动作。在这种情况下,动作为selectContent。页面流动作一节提供了有关这个动作的更多细节。

0
相关文章