我正在使用WebSphere Portal 7上的JSF 1.2开发JSR 286 portlet。我一直在尝试找到一种在同一页面上的两个portlet之间进行导航的方法。基本上:
他们正在使用相同的源代码,所以我认为我可以通过使用PhaseListener和portlet命名空间ID来实现这一点 - 我有点可以使用它,但我不禁认为必须有更好的这样做的方法。
在继续这条路线之前,有没有人知道我在两个portlet之间进行导航的正确方法?
答案 0 :(得分:2)
我为使portlet进行通信所做的一件事是使用事件。在您的情况下,您将设置Portlet A以发布您的buttonClick事件并设置Portlet B来处理buttonClick事件。在Portlet B中,您将设置一些渲染参数,然后在doView中使用它来根据需要更新UI。您还需要在两个portlet之间创建连线。
这是IBM关于portlet通信的文档的链接。可能会有更多的想法更适合或者让你继续下去。
答案 1 :(得分:0)
查看Liferay Faces Portlet Bridge Demos。
“JSF2 IPC(Events) - Customers”演示可能就是您所需要的。 你为什么还在使用JSF 1.2?即使在WAS 7上的WebSphere Portal 7上也可以使用JSF 2.0。只需使用Mojorra库和PARENT_LAST类加载。