Liferay 6.0 получает данные WebForm-портлета из базы данных с помощью java-контроллера

У меня есть портлет веб-формы, например, чтобы спросить пользователей, хорошо ли работает веб-сайт. Теперь мне нужно получить значения веб-формы и создать таблицу для их отображения. Я знаю, что данные хранятся в БД liferay в Exapando (таблицы, розы, столбцы, значения). Проблема в том, что я не могу найти имя веб-формы. В Expandotable оно хранится как 1_WAR_webformportlet_INSTANCE_..., но я хочу, чтобы имя отображалось в браузере (например, МОЯ ФОРМА).

Надеюсь, что кто-то может мне помочь...

PS: я использую ExpandoTableLocalServiceUtil в JAVA.


person IDKN    schedule 23.04.2021    source источник


Ответы (1)


API Expando имитирует таблицы, и вы можете найти различные другие классы Expando* API, которые вам понадобятся для извлечения правильных данных. Это не самый интуитивно понятный способ запуска отчетов по данным, поскольку он в основном предназначен для хранения дополнительных значений для существующих сущностей.

При этом, как только у вас будет правильный идентификатор из ExpandoTable по вашему выбору, вы можете запросить API ExpandoColumn и ExpandoRow и, в свою очередь, API ExpandoValue (добавьте LocalServiceUtil ко всем), чтобы получить правильные значения.

Затем, конечно, вам нужно будет отобразить эти значения в выводе HTML.

Веб-формы также можно экспортировать в формате CSV, вы можете использовать этот вывод или просмотреть этот код, так как он также считывает все данные для формы.

Я не могу обойтись без: Вы упомянули Liferay 6.0 и отметили Liferay 6.2. Оба ужасно устарели - пожалуйста, запустите более новое программное обеспечение на общедоступном веб-сайте.

person Olaf Kock    schedule 28.04.2021
comment
Я действительно благодарю вас за ответ. Я делаю это: List<ExpandoTable> list = ExpandoTableLocalServiceUtil.getTables(comId, tabId); но мне возвращается имя 1_WAR_webformportlet_INSTANCE_... и я не могу использовать это имя. Я ищу способ получить имя веб-формы, такое как liferay, при установке имени файла csv. Он устанавливает файл csv как webform-test, если форма вызывается так. Вы говорили о просмотре кода Liferay, который используется для создания файла .csv... как я могу это сделать? Я действительно благодарю вас, если вы могли бы помочь мне в другой раз! PS: это не новый проект, к сожалению - person IDKN; 30.04.2021