如何添加Liferay非组页面?

如何添加Liferay非组页面?,liferay,liferay-6,Liferay,Liferay 6,我想创建一个与用户或组无关的通知页面,类似于Liferay处理PayPal集成的方式。也许我只是没有找到正确的URL 如果您不熟悉Liferay如何处理PayPal集成,这里有一个摘要(当然,假设您已将购物portlet配置为使用PayPal) 当用户使用PayPal结账时,页面将重定向到 贝宝登录和付款处理 当Liferay重定向到PayPal时,它会将通知URL传递给 PayPal符合PayPal规范 一旦用户批准付款,Paypal将使用 此URL(类似于http://myserver/c

我想创建一个与用户或组无关的通知页面,类似于Liferay处理PayPal集成的方式。也许我只是没有找到正确的URL

如果您不熟悉Liferay如何处理PayPal集成,这里有一个摘要(当然,假设您已将购物portlet配置为使用PayPal)

  • 当用户使用PayPal结账时,页面将重定向到 贝宝登录和付款处理
  • 当Liferay重定向到PayPal时,它会将通知URL传递给 PayPal符合PayPal规范
  • 一旦用户批准付款,Paypal将使用 此URL(类似于
    http://myserver/c/shopping/notify
  • PayPal通过URL传递参数以验证金额和付款, 因此,购物portlet可以将购买标记为已完成
我尝试使用JSF在portlet中的其他页面旁边添加一个页面(/myservice/confirm),并尝试按照
http://myserver/c/myportal/confirm
,运气不好

我还有别的事要做吗


谢谢。

似乎您需要一个自定义URL,该URL不应绑定到任何用户页面或组页面,类似于
/c/blogs/findEntry?entryId=?
,liferay使用该URL指向包含blogs portlet的页面

因此,如果是这种情况,您可以使用Struts操作挂钩创建一个。在liferay-hook.xml中,您可以创建URL作为

<struts-action-path>/portal/mycustom/customURL</struts-action-path>
/portal/mycustom/customURL
所以现在如果你点击URL
http://myserver/c/portal/mycustom/customURL
,您将被引导到自定义操作。在自定义操作中,您可以处理并指向附加到站点或用户的门户页面

下面是使用struts操作挂钩的官方文档的链接:


如果这不是您想要的,而是您想要添加一个物理页面,您也可以在其中添加portlet。那么,如果没有附加到用户、用户组或站点(组),就不可能拥有一个页面

另外,如果您想用URL直接显示JSP,这是不可能的。因为portlet是显示JSP或JSF的。您仍然可以执行以下操作,让人感觉这是一个单独的页面:

  • 因此,您可以创建一个隐藏页面,该页面可能位于URL
    /myNotify
    的来宾站点中
  • 在该页面中使用完整页面布局的portlet
  • 创建struts操作或截取自定义URL
  • 使用portlet处理请求并重新指向页面
    /myNotify
    ,您的portlet将显示通知消息

  • 希望这能有所帮助。

    /shopping/notify代表struts操作url,您的情况下/myservice/confirm是什么?您能为您的需求提供更多信息吗?/myportal/confirm是一个带有关联bean的JSF页面。bean将处理来自PayPal的参数,类似于Liferay中的PayPalNotificationAction类。现在confirm.xhtml只是从简单页面复制的占位符。