【问题标题】:Liferay static url for dynamic dataLiferay 动态数据的静态 url
【发布时间】:2018-02-21 19:56:10
【问题描述】:

我想从 Liferay 中的静态 url 提供一些数据。例如,假设提供一个包含来自“http://server.com/whatever/user”的登录用户的 json,以便项目中的所有 portlet 都可以读取它。现在我可以用 portlet 来做,但是我必须用配置面板设置 url,我不喜欢那样。

我看到可以放静态内容的jsp文件,但是不知道怎么访问session、users等信息。

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

那么,我怎样才能在静态 url 中获取一些内部数据(我不介意它是否友好,长或短,但始终相同)以便 Liferay 项目的每个元素都可以读取它?

第四次编辑:另一种说法...

在我的日食中,我有这棵树:

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

我如何在浏览器中访问该 jsp 而无需进入 Liferay 面板并将 portlet 放入 Web 的菜单中?

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

https://server/language/c/portal/layout?p_l_id=plid

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

PortalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), name_of_portlet_and_war)

这对我来说不是解决方案,因为它并不总是有效。有时你得到一个数字标识符,有时你得到一个零。我敢打赌portlet 的名称和war 不正确,所以它找不到portlet,但是,您如何找到portlet 的新名称?遗憾的是,我丢弃了名称来源的代码,但它来自 Liferay。

第六次编辑:我想做的是能够调用一个固定的 url,其中包含 Liferay 内部的一些数据,并根据该数据获取信息。

【问题讨论】:

    标签: liferay liferay-6


    【解决方案1】:

    这里有几个方面:

    每个 portlet 都已经可以通过名为 ThemeDisplay 的请求属性访问用户:

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    

    检查 ThemeDisplay 的界面以获取您拥有的各种选项,以获取当前用户的 id 或对象。

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

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

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

    但是,我有点怀疑您是否使用它,因为每个 portlet 都已经掌握了信息。 但我也可能只是不了解您的所有要求...

    【讨论】:

    • 我只需要portlet 的规范URL。如果我复制粘贴 Liferay 生成的 url 效果很好,但使用 Liferay 控制面板提供的 url,它可能会在没有通知的情况下更改,从而破坏链接。
    • 没有规范的“到 portlet 的 URL”。这取决于它在哪个页面上。但是您可以在每个单独的页面上提供它的 resourceURL,或者只使用一个并通过对每个 portlet 的通用配置提供它的名称。或者只使用每个 portlet 中的 ThemeDisplay。
    猜你喜欢
    • 2013-01-02
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2011-02-11
    相关资源
    最近更新 更多