无法重定向到liferay中的其他页面

无法重定向到liferay中的其他页面,liferay,liferay-6,liferay-theme,liferay-ide,liferay-velocity,Liferay,Liferay 6,Liferay Theme,Liferay Ide,Liferay Velocity,我试图用java代码重定向到另一个页面,不知道为什么它没有被重定向。 下面是下面的代码 主题显示主题显示=主题显示操作请求。getAttributeWebKeys.THEME\u显示; PortletConfig PortletConfig=PortletConfig actionRequest.getAttributejavax.portlet.config; 字符串portletName=portletConfig.getPortletName; PortletURL successPage

我试图用java代码重定向到另一个页面,不知道为什么它没有被重定向。 下面是下面的代码

主题显示主题显示=主题显示操作请求。getAttributeWebKeys.THEME\u显示; PortletConfig PortletConfig=PortletConfig actionRequest.getAttributejavax.portlet.config; 字符串portletName=portletConfig.getPortletName; PortletURL successPageURL=PortletURLFactoryUtil.create actionRequest,portletName+\u WAR++portletName+portlet, themeDisplay.getPlid、PortletRequest.RENDER_阶段; successPageURL.setParameterjspPage,LibraryConstants.PAGE\u成功; actionResponse.sendRedirectsuccessPageURL.toString; 它没有重定向到页面。请帮助检查代码是否正确


谢谢。

我假设这段代码位于action方法或processAction方法中

与其直接从操作阶段重新定向,不如使用actionResponse.sendRenderParameterjspPage、LibraryConstants.PAGE\u SUCCESS设置要通过render或doView方法呈现的jspPage

此外,检查也会很有帮助,其中提到它在某些情况下不会重定向


另外,请检查在执行代码时是否收到任何错误或警告。

使用该代码,您不是重定向到另一个页面,您只是提供了另一个portlet的id—不知道要转发到哪个页面

我没有一个可以在周末进行快速检查的环境抱歉,以下是您可以尝试自己找到解决方案的方法:

检查您正在构建的URL-您将看到它指向您所在的当前页面。 找到一种方法来实际提供要重定向到的页面的名称。提示:您想要重定向到的portlet可以放在许多页面上,也可以不放在任何页面上。您必须动态地找到其中一个页面,并希望它是您真正想要的页面,或者以某种方式对其进行配置。 此外,在架构上,我发现只链接到一个简单页面比链接到目标页面上的portlet URL要好得多。否则,您将两个不同的portlet紧密地耦合在一起——对其中一个的更改可能需要反映在另一个中。而是使用参数(例如公共呈现参数)在不同的portlet之间进行通信,而不是直接寻址另一个portlet。
我希望这能帮助您自己找到解决方案,因为我在这台计算机上没有提供示例代码的IDE。

它没有重定向问题,因为我们必须在liferay-portlet.xml中添加标记 那个标签是


在上面这一行之后,它工作了。

您需要首先找到页面的URL。您可以从友好的URL friendlyURL获得它:

主题显示主题=主题显示getPortletRequest.getAttributeWebKeys.theme\u显示

最终长组ID=theme.getLayout.getGroupId; Layout destinationLayout=LayoutLocalServiceUtil.getFriendlyURLLayoutGROUP\u ID,false,friendlyUrl

Layout Layout=LayoutLocalServiceUtil.getLayoutdestinationLayout.getPlid; 字符串completeUrl=portalTil.getLayoutFullURLlayout,getThemeDisplay


我没有收到任何警告,但它没有转到其他页面,而是返回到portlet主页面查看页面,带有特定操作的适当消息,非常奇怪,因为门户url实际上是正确的:/web/guest staging/library1?p_p_id=library\u WAR\u libraryportlet&p_p_lifecycle=0&_library\u WAR\u libraryportlet\u jspPage=%2Fhtml%2Flibrary%2Fsuccess.jsp对于我来说无法使用library/icon.png true/css/main.css/js/main.js library portlet
      <action-url-redirect>true</action-url-redirect>