1

我想显示存在于 liferay 文档库中的图像。
我应该如何迭代以获取所有图像并显示它们?

我现在拥有的代码是:

<portlet:renderURL  var="viewImageDataURL"/>

<liferay-ui:search-container delta="20" emptyResultsMessage="No Results Found">
    <liferay-ui:search-container-results
            total="<%= employeeImages.size() %>"
            results="<%= ListUtil.subList(employeeImages, searchContainer.getStart(), searchContainer.getEnd()) %>" />
    <liferay-ui:search-container-row modelVar="search"
            className="com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil">

        <liferay-ui:search-container-column-text
                name="ImageName"
                value = '<img  src="<%=search.getDLFileEntry(1)%>"/>'>
        </liferay-ui:search-container-column-text>
    </liferay-ui:search-container-row>

    <liferay-ui:search-iterator searchContainer="<%=searchContainer %>" paginate="<%=true%>" />

</liferay-ui:search-container>

我应该如何迭代?从文档库显示图像的功能是getDLFileEntry(fileId),我想显示所有值。

编辑代码:

我使用的代码是:

<portlet:renderURL  var="viewImageDataURL"/>

<liferay-ui:search-container delta="20" emptyResultsMessage="No Results Found">
    <liferay-ui:search-container-results
        total="<%=DLFileEntryLocalServiceUtil.getDLFileEntriesCount() %>"
        results="<%=DLFileEntryLocalServiceUtil.getFileEntries(searchContainer.getStart(), searchContainer.getEnd())%>" />

    <liferay-ui:search-container-row
            modelVar="search"
            className="com.liferay.portlet.documentlibrary.model.impl.DLFileEntry">
        <liferay-ui:search-container-column-text
                name="ImageName"
                value = '<img src="<%=search.getDLFileEntries(searchContainer.getStart(), searchContainer.getEnd())%>"/>'>
        </liferay-ui:search-container-column-text>
    </liferay-ui:search-container-row>

    <liferay-ui:search-iterator searchContainer="<%=searchContainer %>" paginate="<%=true%>" />

</liferay-ui:search-container>

错误显示在下面的行中:

错误描述是:

com.liferay.portlet.documentlibrary.model.impl.DLFileEntry 无法解析为类型

4

1 回答 1

1

您提供的属性值 className 似乎不正确。

在您的情况下,我相信结果值将是 DLFileEntry 类型的列表。

在这里,您可以将 className 指定为要在搜索容器中迭代的模型名称 [com.liferay.portlet.documentlibrary.model.impl.DLFileEntry]。keyProperty 作为模型的一些主键名称,

<liferay-ui:search-container-row className="com.liferay.portlet.documentlibrary.model.impl.DLFileEntry" keyProperty="fileEntryId" modelVar="searchRow">

现在,searchRow 可以被视为迭代的对象。

您可以调用模型 DLFileEntry 的任何 getter 方法来使用它进行显示。

==================================================== ============================== <liferay-ui:search-container searchContainer="${searchContainerObj}"> <liferay-ui:search-container-results results="<%=LIST OF OBJECT OF DLFileEntry%>"/> <liferay-ui:search-container-row className="com.liferay.portlet.documentlibrary.model.impl.DLFileEntry" keyProperty="fileEntryId" modelVar="fileEntry"> <img src="<%= DLUtil.getThumbnailSrc(fileEntry, fileEntry.getFileVersion(), null, themeDisplay) %>" /> </liferay-ui:search-container-row>
</liferay-ui:search-container>

让我解释一下上述代码的术语。liferay-ui:search-container-results 标签将有对象列表,您想在搜索容器中显示。liferay-ui:search-container-row 标签将定义modelVar fileEntry,它将是List对象类型的迭代对象。在 liferay-ui:search-container-row 的主体中,modelVar fileEntry 将可用。 如果结果列表的大小为 3,则将显示 3 个缩略图。

于 2013-04-17T12:01:49.967 回答