通过OpenCms提供的API,可以轻松实现动态导航功能,前提是要设置资源的导航属性,如下图操作:
“导航文字”设置资源在导航中的文字,“插入其后”设置导航在导航列表中的位置。
下面的代码是Alkacon文档的一个例子,稍做了些修改,浏览此文件,就得到当前目录下已经添加到导航所有资源的导航列表。
<%
@ page
import
=
"
java.util.*
"
%><%
org.opencms.jsp.CmsJspActionElement cms = new org.opencms.jsp.CmsJspActionElement(pageContext, request, response);
// 为当前文件文件夹下的所有子文件夹和页面创建导航
List list = cms.getNavigation().getNavigationForFolder();
Iterator i = list.iterator();
out.println( " <h3>一个简单的导航</h3> " );
while (i.hasNext()) {
org.opencms.jsp.CmsJspNavElement ne = (org.opencms.jsp.CmsJspNavElement)i.next();
out.println("<li><a href=/"" + cms.link(ne.getResourceName()) + "/">");
out.println(ne.getNavText() + "</a></li>");
}
out.println( " </ul> " );
%>
org.opencms.jsp.CmsJspActionElement cms = new org.opencms.jsp.CmsJspActionElement(pageContext, request, response);
// 为当前文件文件夹下的所有子文件夹和页面创建导航
List list = cms.getNavigation().getNavigationForFolder();
Iterator i = list.iterator();
out.println( " <h3>一个简单的导航</h3> " );
while (i.hasNext()) {
org.opencms.jsp.CmsJspNavElement ne = (org.opencms.jsp.CmsJspNavElement)i.next();
out.println("<li><a href=/"" + cms.link(ne.getResourceName()) + "/">");
out.println(ne.getNavText() + "</a></li>");
}
out.println( " </ul> " );
%>
浏览效果如下: