首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从JSR286(IBM) portlet导航到JSF2.0portlet

从JSR286(IBM) portlet导航到JSF2.0portlet
EN

Stack Overflow用户
提问于 2015-07-24 10:47:40
回答 1查看 218关注 0票数 0

我需要使用一些参数从JSR286(IBM)重定向到JSF2.0portlet。

我有网页独特的id和友好的网址也。

我已经尝试过response.sendRedirect()和requestDispatcher.forward(),但到目前为止没有成功。

请给我一些解决办法。

EN

回答 1

Stack Overflow用户

发布于 2015-08-13 08:47:59

要在portlets之间导航,不应该简单地转发或重定向页面,因为这不是一条路。即使在不同的页面上,portlet之间进行通信的正确方法是使用portlet间通信(IPC),通常称为portlet连接。

但是,这完全取决于您使用“JSR286()”的含义。portlet要么是遵循全局规范的JSR-286 portlet (对于所有供应商,IBM、Apache、Oracle、Liferay、.)--使用IBM /iWidget,在最后一种情况下,如果我从文档中正确地记住了portlet,则无法连接portlet。

不管怎样,不管JSF与否,JSF2.0portlet仍然是一个JSR-286 portlet,所以在本例中您也可以使用正常事件,尽管我对JSF没有经验。这两个portlet都应该有一个portlet描述符,您可以在其中声明:

  • 事件,使用<event-definition>。请注意,当JSF位于单独的portlet应用程序中(在不同的portlet.xml文件中)时,必须使用XName,而不是普通名称。
  • 特定portlet可以使用<supported-publishing-event>发布的事件(您的JSR-286portlet)
  • 特定portlet可以订阅的事件,使用<supported-processing-event> (JSF2.0portlet)

之后,您可以使用方法从阶段的JSR-286Portlet中发送一个事件。

从JSF2.0portlet中,您仍然可以从上下文中获取PortletRequest/PortletResponse。如果您检查它是否是EventRequest的实例,则可以使用EventRequest.getEvent()检索该参数,从而允许您在portlets之间传递参数。

如果您的portlets位于单独的页面上,则必须获得WebSphere门户的管理(我假设您正在运行它,因为您是在讨论IBM),并为这些页面定义全局目标,以便事件可以跨页触发(否则,只有在同一页面中的portlets才能使用连接)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31608591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档