在openCMS中打印所有元素navItem列表

时间:2013-02-20 21:08:15

标签: list opencms

在我的openCMS项目中,内容文件夹按年命名:

  • 2010
  • 2011
  • 2012
  • 2013

我用

CmsJspNavBuilder navigation = a_cms.getNavigation();
List navItems = navigation.getSiteNavigation(a_rootFolder,99);

创建所有这些文件夹的列表。如何逐项打印整个列表?

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议使用taglib而不是java代码,它更干净。 请看那里的样本:

http://www.opencms-wiki.org/wiki/The_OpenCms_8_Demo_Template_Modules_in_Detail#Navigation_tag

 <cms:navigation type="forFolder" startLevel="0" endLevel="1" var="nav"/>
   <c:forEach items="${nav.items}" var="elem">
     <c:set var="currentLevel" value="${elem.navTreeLevel}" />
     […]
     <a href="<cms:link>${elem.resourceName}</cms:link>">
       ${elem.navText}
     </a>
   </c:forEach>
 </cms:navigation>

来自维基:

标签提供对导航信息的访问。该标记在/WEB-INF/opencms.tld OpenCms标记库描述符(TLD)中描述。 Web容器(例如Tomcat)使用TLD来验证标签。 opencms.tld描述了自定义OpenCms标记库。

导航标记有六个属性:

  • var(必填)
  • type(必需)可以设置为treeForFolder,forFolder,forSite,forResource,breadCrumb
  • startLevel(可选),用于读取资源或文件夹
  • 上的属性“NavStartLevel”
  • endLevel(可选)
  • 资源
  • param(可选)。

在JSP中使用导航标记调用核心方法org.opencms.jsp.CmsJspTagNavigation,用于访问带有EL的JSP上的OpenCms VFS导航信息。