动态数据的Liferay静态url

动态数据的Liferay静态url,liferay,liferay-6,Liferay,Liferay 6,我想从Liferay中的静态url提供一些数据。例如,假设提供一个包含来自的登录用户的json,以便项目中的所有Portlet都可以读取它。现在我可以用一个portlet来完成,但是我必须用配置面板来设置url,我不喜欢这样 我看到我可以将jsp文件与静态内容放在一起,但不知道如何访问会话、用户等信息 友好的url似乎完成了一些类似的事情,但似乎过于复杂,并专注于获得一个简单的短url,这一点我不在乎 那么,我如何在静态url中获取一些内部数据呢?我不介意它是友好的、长的还是短的,但总是相同的,

我想从Liferay中的静态url提供一些数据。例如,假设提供一个包含来自的登录用户的json,以便项目中的所有Portlet都可以读取它。现在我可以用一个portlet来完成,但是我必须用配置面板来设置url,我不喜欢这样

我看到我可以将jsp文件与静态内容放在一起,但不知道如何访问会话、用户等信息

友好的url似乎完成了一些类似的事情,但似乎过于复杂,并专注于获得一个简单的短url,这一点我不在乎

那么,我如何在静态url中获取一些内部数据呢?我不介意它是友好的、长的还是短的,但总是相同的,这样Liferay项目的每个元素都可以读取它

第四次编辑:另一种说法

在我的eclipse中,我有一棵树:

/war/docroot/html/fancy porlet/list.jsp

如何在浏览器中访问该jsp,而不必进入Liferay面板并将portlet放入web菜单中

第五次编辑:我没有时间再研究了,但我的笔记里有这个

有时,这会直接进入portlet。plid来自

PortalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), name_of_portlet_and_war)
这对我来说不是解决办法,因为它并不总是有效的。有时候你会得到一个数字标识符,有时候你会得到一个零。我打赌portlet和war的名称是不正确的,因此它找不到portlet,但是,您如何找到portlet的新名称呢?遗憾的是,我丢弃了这个名字的来源代码,但是它来自Liferay


第六次编辑:我想做的是能够使用Liferay内部的一些数据调用固定url,并基于这些数据获取信息。

这里有几个方面:

每个portlet都已通过一个名为:

检查主题显示界面中的各种选项,以获取当前用户的id或对象

您已经询问了JSON交付——这将需要通过Liferay,而不是直接通过您个人web应用程序中的JSP。原因是Liferay处理的任何请求都将包含用户信息,但作为任何适当的Web应用程序,它与指向另一个Web应用程序的任何请求完全不同:除非Liferay包含,否则您的JSP将具有与Liferay的会话无关的不同会话。我希望这个解释有道理

如果您编写了一个servletFilter钩子,您可能还没有初始化门户上下文Liferay 6.x对我来说已经有一段时间了,请原谅这里的含糊不清。如果您在portlet端,那么您可能需要做的事情比您预期的要多

您可以选择在每个页面上自动嵌入一个portlet,例如,当它被部署时,它是可用的。您可以将portlet配置为自动包含在每个页面上,例如,这是为聊天portlet完成的。该portlet不需要任何UI,它只需要公开其resourceURL,以便您可以在任何地方使用它

然而,我怀疑您是否使用它,因为每个portlet都有现成的信息。
但我也可能不理解您的所有需求…

我只需要portlet的规范url。如果我复制粘贴Liferay生成的url,效果很好,但使用Liferay控制面板提供的url,该url可能会在不通知的情况下更改,从而破坏链接。portlet没有标准url。这取决于它在哪一页。但是您可以在每个单独的页面上使用它的resourceURL,或者只使用一个页面,并通过公共配置向每个portlet提供它的名称。或者从每个portlet使用主题显示。
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);