【发布时间】:2020-01-15 18:21:22
【问题描述】:
当一个 portlet 被最大化时(p_p_state=maximized),Liferay 会生成一个后退箭头以允许导航回到“整页”。
但是,生成的标签中的 HREF 是空白的。没有网址。这不会发生在我的本地机器上,但会发生在我的服务器上(本地和服务器是 Liferay 7、GA7)。
我发现这是作为一个标签创建的,其 HREF 设置为 ${portlet_back_url},而该标签又是从 htmlUtil.escapeHREF(portlet_display.getURLBack()) 创建的。
这让我想到了 com.liferay.portal.kernel.theme.PortletDisplay 中的 getURLBack() 方法,它似乎只是一个具有很多属性的 bean。有一个 setURLBack(),它从 150 个文件(主要是 JSP)中调用。所以这个值不能被设置 - 但我找不到应该从哪里设置,我不明白为什么它在本地工作正常。
此外,在控制面板中工作时,内置 portlet(用户、组织、站点等)上的后退箭头表现出相同的行为 - 所以问题是系统性的(不仅仅是我的自定义 portlet)。而且,正如我所提到的,在我的本地机器上使用相同的 Liferay 捆绑包很好 - 所以我很确定环境中有一些不同的地方。
有人遇到过这个吗?关于在哪里看的任何提示?
【问题讨论】:
-
另外,日志中似乎有很多可能相关的警告消息:
Redirect URL [some full URL] is not allowed