[教程]使用OpenCms的特性

 为什么要在JSP中使用OpenCms特性?

 

OpenCms提供了大量的特性,可以帮助我们提高开发的速度,像模板、用户管理、声明许可和缓存系统。还有你可以在你的OpenCms文件构架上搭建动态导航。所有OpenCms里面的文件都保存在OpenCms的虚拟文件系统(VFS)里。这个文件系统存储在OpenCms附属的数据库中。想在OpenCms的VFS中存取任何信息你都必须使用OpenCms的JSP API。

 

基础选项。

 

在你的JSP页面中,你可以通过两种方式使用OpenCms的这些特有的功能。

  1. 使用OpenCms的标签库(这种标签都以<cms:>标签开头)
  2. 在jsp脚本中使用OpenCms 的 org.opencms.jsp.CmsJspActionElement 包。

通过这两种方式都可以得到你想要的结果。使用何种方法更好一点,取决于个人的风格和经验。一般来说jsp标签库比较容易使用适合java的初学者。对于java的老手来说,或许比较愿意用jsp命令。

 

如果你正在使用OpenCms的标签库,你可以能还需要一种“万能”的标签库,来实现基本的逻辑。比如loops, if - then,enumeration等。一个不错的选择就是JSTL,它是JSP2.0的新特性。

 

如果你想用OpenCms建立更高级的功能(比如导航、表单等),最好还是使用jsp脚本的API

 

OpenCms 的<cms:>标签库

 

如果你想使用OpenCms标签库,你只需要在你的jsp页面中做如下定义:

  1. <%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %> 
  2. <h1>Simple taglib example</h1> 
  3. The installed OpenCms version is <cms:info property="opencms.version"/>.<p> 
  4. The "title" property of this file is "<cms:property name"title"/>".<p> 
  5. Link to a file in the OpenCms VFS:
  6. <a href="<cms:link>/alkacon-documentation/index.html</cms:link>">like this</a>.<p>

你可以在OpenCms标签库中结合其他标签库(如:JSTL),以使功能更加全面。

 

OpenCms的脚本API

 

要在你的jsp脚本代码中使用OpenCms API,需要创建一个org.opencms.jsp.CmsJspActionElement 的javabean实例.示例如下:

  1. <%@ page import="java.util.*,org.opencms.jsp.*" %><%    
  2. // Create a JSP action element
  3. CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);
  4. // Get a simple navigation of all pages / subfolders in the current folder 
  5. List list = cms.getNavigation().getNavigationForFolder();
  6. Iterator i = list.iterator();
  7. out.println("<h3>A simple sample navigation</h3><ul>");
  8. while (i.hasNext()) {
  9.     CmsJspNavElement ne = (CmsJspNavElement)i.next();
  10.     out.println("<li><a href=/"" + cms.link(ne.getResourceName()) + "/">");
  11.     out.println(ne.getTitle() + "</a>");
  12. }    
  13. out.println("</ul>");
  14. %>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值