首页 > 解决方案 > Liferay 6.0 使用 java 控制器从 db 获取 WebForm-portlet 数据

问题描述

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

希望有人可以帮助我...

PS:我在 JAVA 中使用 ExpandoTableLocalServiceUtil。

标签: javaliferay-6liferay-6.2

解决方案


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

话虽如此,一旦您从ExpandoTable您选择的 id 中获得了正确的 id,您就可以查询ExpandoColumnExpandoRowAPI,然后通过ExpandoValueAPI(添加LocalServiceUtil到所有)来获取正确的值。

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

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

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


推荐阅读