事件是portlet间通信的唯一方式吗?



通过阅读有关jsr286事件处理的文章,我得到了这样的印象:如果portlet属于不同的.war文件,那么事件处理特性使它们能够相互通信。

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

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

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

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

最新更新