为什么searchContainer变量未知?

时间:2017-10-18 13:30:51

标签: liferay liferay-6

我正在尝试使用searchContainer使用liferay 6.1.

做一个简单的示例

searchContainer variable中未知view.jsp.  我收到错误"searchContainer cannot be resolved".

我试图加入<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>

它不起作用。

代码如下所示:

<liferay-ui:search-container iteratorURL="<%= actionURL %>" delta="10" emptyResultsMessage="no-documents">
<liferay-ui:search-container-results total="<%= list.size() %>" results="<%= ListUtil.subList(list, searchContainer.getStart(), searchContainer.getEnd()) %>" />

更新

我在search-container-results代码和search-iterator代码

中使用了varibale searchContainer
 <liferay-ui:search-container iteratorURL="<%= actionURL %>"
     delta="10" emptyResultsMessage="no-documents">
         <liferay-ui:search-container-results total="<%= list.size() %>"
         results="<%= ListUtil.subList(list, searchContainer.getStart(), 
         searchContainer.getEnd()) %>" />
         <liferay-ui:search-container-row modelVar="file        
         className="DLFileEntry">
         .
         .
         .
         </liferay-ui:search-container-row>
         <liferay-ui:search-iterator
          searchContainer="<%= searchContainer %>"
          paginate="${fn:length(listFiles) ge 10}" />
 </liferay-ui:search-container>

1 个答案:

答案 0 :(得分:0)

原则上你的代码应该有效。我按照概率的顺序寻找这些选项:

  1. 在使用search-container-results标记之前,您要使用search-container标记,因此searchContainer将超出范围。 (假设你可能在这里缩短了代码,或者你有另一个对searchContainer的引用,而不仅仅是你在这里展示的那个。
  2. 或者您明确声明变量的名称不同,例如<liferay-ui:search-container var="myOwnNameForSearchContainer" ...>,再次假定您已严格缩短此处的示例代码
  3. 或无法识别标签库(低概率)。
  4. 如何缓解?

    1. 请注意页面后面对searchContainer的其他引用,特别是在</liferay-ui:search-container>发生后。
    2. 应该很明显
    3. 将页面缩短为<liferay-ui:searchContainer ... > </liferay-ui:search-container>,并确保将其替换为实际的HTML代码,并且在呈现页面时,HTML输出中不再存在此特定标记,然后添加单个其他元素。 / LI>