About Opencms
什么是OpenCms模版
[ 作者:  加入时间:2005-10-29 13:23:20  来自: ]
 OpenCms模版是简单JSP页面,它可以访问OpenCms方法的标签库,能结合其它标签库使用(如JSTL),所有标签库方法都可通过脚本API访问。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
  模版在OpenCms VFS中是简单资源,这意味着它可进行版本控制,可工作流处理(在线/离线),能在模块中发布。模版可有众多子元素,如:导航元素,广告条素,文章列表元素。模版通常用于格式化/显示一个XML页面内容另外,内容也用在多个地方同一个模版也可用于格式化其它JSP页面的输出.
  使用模版机制,可以按你设计的风格样式、版式布局来表现所需要管理的内容。JSP模版定义页面具体的元素,实现模版的框架,如:页头、页脚、页面内容区。页面内容内容编辑员选定相应的模版,添加内容,发布时系统套用指定的模版。
OpenCms如何管理JSP网页
 
       所有的OpenCms文件都存放在数据库中,即OpenCms VFS 中,也就是说,我们不能在本地文件系统中看到像OpenCms工作区资源管理视图那样的文件结构。但是为了JSP的运行,所有的OpenCms都镜像到本地文件系统。
         要了解这一处理,先看看标准的JSP是如何处理的:
1.          一个JSP文件放到web应用的主目录中;
2.          该文件的后缀必须是*.jsp
3.          servlet容器接收到web应用的任一JSP请求时,被请求的JSP先被翻译成java类源代码,即以*.java为扩展名的文件;
4.          在翻译过程中,JSP指令(<%@ include file=%>)都被Java代码取代;
5.          创建的*.java源代码被编译成实现servlet接口的class
6.          最后调用该servlet
 
 
OpenCms标签
 
JSP中使用OpenCms标签,必须在JSP的前面加入下面的行
<%@ taglib prefix=
"cms" uri=
"http://www.opencms.org
/taglib/cms" %>
1<cms:user> user标签提供了读当前用户的属性的方法
2<cms:property>读取当前文件的属性
3<cms:link>该标签为一个VFS资源生成有效的OpenCms URL
4<cms:label>读取OpenCms本地化属性文件中的字符串(仅当需扩展OpenCms工作区时使用)
5<cms:include>用于运行中从OpenCms VFS动态包含文件,包含的文件被当成一个请求的附加参数。
6<cms:template> template标签允许您把一个JSP页面分割成多个元素,以便使用<cms:include>引入。
7<cms:contentcheck>检查XML内容的项目是否存在
8<cms:contentloop>该标签用来循环取出XML内容列的全部元素
9<cms:contentshow>该标签用于显示XML内容的列的值
10<cms:contentload>载入一个XML内容资源的collection,根据给定的collector属性,确定是单个资源还是资源列表
11 <cms:info> info标签显示系统的运行信息以及底层支撑的
Java/Servlet/OS
环境信息。这个标签是通过标准的
System.getProperty(value)
来获得Java虚拟机信息的。如果给出的 property 的值没有对应的键值时,会返回错误信息。
 

 

怎样使用XML风格的JSP语法
 
问题:有经验的JSP开发者知道JSP 1.2JSP有两种写法,达到相同的结果:“JSP”和“XML”风格。“JSP”方式使用<%…%>风格的括弧,如<%@ include file=”…”%>;XML”风格的语法是<jsp:directive.include file=”…”/>。那么用“XML”风格的语法会怎样?
         简单地说:它当前在OpenCms中不能工作,故不要使用它。坚持经典的JSP风格,使用<%…%>符号。
         详细地说:像前面提到的一个JSP网页写到真实文件系统前,为了调整像<%@ include file=”…”><%@ page errorPage=”…”%>包含文件引用的标签,要经过OpenCms解析。这是必须的,因为servlet容器必须有真实文件的路径,而不是OpenCms VFS路径。解析器很简单,当前不支持XML风格的语法。因此当使用<jsp:directive.include file=”…”>时,其中的文件名不被调整,这样servlet容器不能找到仍然指向OpenCms VFS路径的文件。例如<jsp:useBean id=”…”/><jsp:setProperty name=”…”/>能正常使用,没有问题。
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

About Opencms

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭