使用Jsp进行OpenCms模板开发
在建设网站的时候,其中一个重要的功能就是开发网站所需要的模板。用OpenCms开发网站的时候,需要使用一个或多个模板来定义统一的网站布局。
本课程是使用一些简单的步骤来说明如何使用jsp创建一个基础的模板。由于所有的项目都需要用到这种功能。所以你需要认真的学习本文档。在接下来的步骤里,你将会很快的学会开发你自己的jsp模板并运行它。
步骤一、一个简单的Jsp模板
在OpenCms中的一个jsp模板就是一个普通的jsp页面,这个页面使用了一些特殊的标签在特定的位置来包含某些内容。在这个例子中,我们将开始开发一个jsp模板,它在内容里加入了一些想<html>或<body>之类的标签。 这个模板位于/system/modules/com.alkacon.documentation.howto_template/jsptemplates/howto.jsp:
- <%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
- <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title><cms:property name="Title" escapeHtml="true" /></title>
- <meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html;
- CHARSET=<cms:property name="content-encoding" default="ISO-8859-1" />">
- <link type= "text/css" href="<cms:link>../resources/mystyle.css</cms:link>">
- </head>
- <body>
- <h2>My first template head</h2>
- <!-- Main pagebody starts here -->
- <cms:include element= "body"/>
- <!--Main pagebody ends here -->
- <h2>My first template foot</h2>
- </body>
- </html>
在你使用任何OpenCms标签之前,一定要先声明opencms的标签库的定义:<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
注意:你的jsp模板必须存储在一个模块的"templates"子目录里,在你创建新页面的时候,才能显示在模板选择列表里。
在这个例子中,页面的title是从OpenCms页面的title属性中读取出来的。并被放置在HTML的<title>标签里。页面的编码类型也是用同样的方法定义的。
样式表被放置在<cms:link>标签里。在jsp模板中,样式表的路径可以使用当前模板所在位置的相对路径。除了模板必须放在"templates"目录下外,所有的资源文件如:样式表和图片都放在与模板同一个模块中的resources的子目录下。
本例中最重要的一行是:<cms:include element="body"> 标签,它包含了页面中可编辑的元素。