有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当portlet不存在时java Liferay提醒用户

假设portlet X部署到Liferay,并映射了一个友好的URL。假设用户通过映射的URL进入Liferay门户,但门户中不存在portlet——它已部署但未添加到页面中

我的问题是,当用户使用映射的URL时,什么都不会发生——门户没有提供视觉反馈,目标portlet不存在

我该怎么改变呢?我需要向用户发出某种提醒/通知

--编辑--

我不需要使用第二个portlet来检查另一个portlet的存在

最亲切的问候


共 (1) 个答案

  1. # 1 楼答案

    是的,您可以使用portlet间通信来实现这一点,通知用户portlet是否已添加到页面中。您需要创建另一个portlet(我们称之为ListenerPortlet),默认情况下它位于页面上

    您可以将Listener portlet添加到主题中,以便在默认情况下将其添加到每个页面

    现在,当您将portlet添加到页面时,portlet应该触发客户端javascript事件,并通知侦听器portlet您的portlet已添加到页面

    通过您的portlet调用

    Liferay.trigger(eventName, data)
    

    并将侦听器portlet绑定到事件

     Liferay.bind(eventName, function, [scope]) //make the scope as page
    

    这样,您的侦听器portlet将知道您的portlet是否已添加到页面中。如果没有添加portlet,您可以向用户显示一条消息

    如需进一步参考,请查看IPC

    更具体地说client-side Inter portlet communicaton