0

阅读有关 jsr286 eventing 的文章后,我得到的印象是,如果 portlet 属于不同的 .war 文件,则 eventing 功能使它们能够相互通信。

我只是想确认即使 2 个 portlet 属于同一个 war 文件,它们可以通信的唯一方法是通过事件。

因为 servlet 的整个请求转发特性不适用于 portlet。它是否正确?

4

1 回答 1

0

Portlet 事件可以在相同战争或不同战争中的 Portlet 之间使用。但是,portlet 事件的限制之一是 2 个 portlet 必须在同一页面上。

还有其他方法可以在 2 个 portlet 之间进行通信。您可以使用公共渲染参数。这个想法是第一个 portlet 设置一个参数,第二个 portlet 可以读取它以检索值。您还可以使用 PortletSession 的 Application 范围来通信和共享数据。PortletSession 的应用程序范围 (APPLICATION_SCOPE) 在同一战争的所有 portlet 之间共享。

于 2013-04-09T04:59:17.883 回答