我想显示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无法解析为类型
答案 0 :(得分: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个缩略图。