如何列出opencms中文件夹中的文件?

How to list files from a folder in opencms?

我需要在 opencms 中创建一个新的资源类型,它有 1 个字段。该字段用于目标文件夹。 每次我 select 来自 VFS 的文件夹并保存资源(xml)时,格式化程序将呈现指定文件夹中的文件列表。

我设法创建了一个 jsp 文件,它将创建所需文件的列表,但仅对目标文件夹进行硬编码。我不知道如何从资源类型 (xml) 中读取数据,我可以使用 el 表达式访问它。

我不确定这是否有效。请尝试一下。

<cms:formatter var="content" val="value">
    <cms:contentload collector="singleFile" param="${value.TargetFolder.stringValue}">
        <cms:contentshow element="Title" />
    </cms:contentload>
</cms:formatter>

valueMap<String, CmsJspContentAccessValueWrapper> 类型。您可以检查 Javadoc 以查看您还有哪些其他可用方法。

我把收集器从: CmsDefaultResourceCollector.getSingleFile()

另一种读取 XMLContent 的方法是使用 Java。例如:

<c:set var="path" value="${value.TargetFolder.stringValue}"/>
<%
  String path = pageContext.getAttribute("path");
  CmsXmlContent xmlContent = CmsXmlContentFactory.unmarshal(jsp.getCmsObject(), path);
  xmlContent.getStringValue(jsp.getCmsObject(), "Title", locale);
%>