Liferay - 使用 portlet 在 Web Content 下创建文件夹和子文件夹
Posted
技术标签:
【中文标题】Liferay - 使用 portlet 在 Web Content 下创建文件夹和子文件夹【英文标题】:Lifeary - Creating folders and sub folders under Web Content using portlet 【发布时间】:2022-01-02 18:12:39 【问题描述】:我正在阅读 portlet 中的 excel 数据并将其放在 Web Content 下,并将它们分类到不同的文件夹和子文件夹中。
我发现的只是在 Documents and Media 库下创建文件和文件夹,而不是在 Web Content 下创建文件和文件夹
https://help.liferay.com/hc/en-us/articles/360029045451-Creating-Files-Folders-and-Shortcuts https://help.liferay.com/hc/en-us/articles/360028725672-Creating-Folders
按照以下步骤使用DLAppService
方法addFolder
创建文件夹:
获取对DLAppService
的引用:
@Reference
private DLAppService _dlAppService;
获取填充addFolder
方法参数所需的数据。由于通常会使用最终用户提交的数据创建文件夹,因此您可以从请求中提取数据。此示例通过javax.portlet.ActionRequest
和ParamUtil
执行此操作:
long repositoryId = ParamUtil.getLong(actionRequest, "repositoryId");
long parentFolderId = ParamUtil.getLong(actionRequest, "parentFolderId");
String name = ParamUtil.getString(actionRequest, "name");
String description = ParamUtil.getString(actionRequest, "description");
ServiceContext serviceContext = ServiceContextFactory.getInstance(
DLFolder.class.getName(), actionRequest);
使用上一步中的数据调用服务引用的 addFolder 方法:
Folder folder = _dlAppService.addFolder(
repositoryId, parentFolderId, name, description,
serviceContext);
请让我知道或指导我如何解决这个问题。
提前致谢。
【问题讨论】:
您想存储excel文件还是读取excel文件并使用数据创建网页内容? @DanieleBaggio, 读取excel文件并使用数据创建网页内容 【参考方案1】:在文档库中,您可以上传和存储文档。
在网页内容下,您可以创建和存储网页内容文章。
听起来您想在 Web Content 下存储文档(例如 excel 文件),而构建这些文件夹的目的并非如此。请注意,这不是文件系统,而是组织不同类型内容的不同方式。
因此,解决此问题的方法是回到需求,并为底层业务问题找到可行的技术解决方案。
您通过带有DL
前缀的 API 创建的任何文件夹都将出现在文档库下。您通过 API 创建的任何以 Journal
前缀开头的文件夹都将显示在 Web 内容下。根本没有重叠。
【讨论】:
以上是关于Liferay - 使用 portlet 在 Web Content 下创建文件夹和子文件夹的主要内容,如果未能解决你的问题,请参考以下文章
liferay5使用PortletURL进行跨portlet通信 liferay6.2
Liferay 7.3:如何预配置嵌入在页面片段中的 portlet?
liferay 7 中 liferay-portlet.xml 的等效文件是啥?