Liferay 6.0 使用 java 控制器从数据库获取 WebForm-portlet 数据

问题描述

我使用了一些 webform portlet,例如询问用户在网站上的体验是否良好。 现在我需要获取 Web 表单值并创建一个表格来显示它们。我知道数据存储在 Exapando 的 liferay 数据库中(表、ros、列、值)。问题是我找不到网络表单名称。在 Expandotable 中,它的存储方式类似于 1_WAR_webformportlet_INSTANCE_...,但我希望名称出现在浏览器中(例如“MY FORM”)。

希望有人能帮助我...

PS:我在 JAVA 中使用 ExpandoTableLocalServiceUtil。

解决方法

Expando API 模仿表格,您可以找到提取正确数据所需的各种其他 Expando* API 类。这不是运行数据报告的最直观方式,因为它主要用于为现有实体存储额外值。

话虽如此,一旦您从您选择的 ExpandoTable 中获得了正确的 id,您就可以查询 ExpandoColumnExpandoRow API,进而查询 ExpandoValue API(将 LocalServiceUtil 添加到所有)以获得正确的值。

然后,当然,您需要在 HTML 输出中呈现这些值。

Web 表单也可以导出为 CSV,您可以使用该输出,或者您可以查看该代码,因为它还会读取表单的所有数据。

我不能没有:您提到了 Liferay 6.0 并标记了 Liferay 6.2。两者都过时了 - 请在面向公众的网站上运行更新的软件。