OpenCms中的JSP模板就是一個普通的JSP頁面,在特定的位置使用標籤來包含內容,在這個的例子中,我們將要開發一個簡單JSP模板,這個模板只是在內容(如<html>、<body>)周圍添加了一些標記。
這個JSP模板位於模組下的templates子檔案夾下,如/system/modules/org.opencms.test/templates/下,
模板檔案內容如下:
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
<html>
<head>
<title><cms:property name="Title" /></title>
<meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; CHARSET=<cms:property name="content-encoding" default="UTF-8" />" />
<link rel="stylesheet" type= "text/css" href="<cms:link>../resources/myStyle.css</cms:link>" />
</head>
<body>
<h2>第一個簡單模板的head</h2>
<cms:include element= "body"/>
<h2>第一個簡單模板的foot</h2>
</body>
</html>
在使用OpenCms標籤前一定要如下聲明標籤: <%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>,關於標籤的詳細說明,我前面有幾篇文章已經作了介紹OpenCms JSP標籤詳解——cms:label標籤 ,OpenCms JSP標籤詳解——cms:link標籤 ,OpenCms JSP標籤詳解——cms:property標籤 ,OpenCms JSP標籤詳解——cms:user標籤 cms:img標籤用法說明)
請注意:JSP模板存放的位置是在模組下的“templates”子檔案夾中,只有這樣做,在建立頁面時模板才會出現在模板挑選清單中,如,通過這個模板建立頁面,類型選擇頁面:
輸入檔案名稱,再選擇模板“一個簡單的JSP模板”,此處顯示的模板名稱就是JSP模板Title屬性的內容:
頁面建立完成後,選擇編輯頁面,如:
在這裡例子中,頁面的標題是從OpenCms頁面的“title”屬性讀取的,並且置於HTML的<title>標籤中,頁面的編碼方式也是類似的定義方式。
樣式表必須放置於<cms:link>標籤中,在JSP模板中,模式表的路徑應該是相對於模板路徑的一個相對路徑,在模組下建立一個resources的子檔案夾用來存放屬於與模板相關的樣式表和圖片等資源,當然,這麼做是不是必須的,但它的確是一個不錯的習慣。
注意:你可以在編輯器中使用css樣式表,通過設定模板的“template”屬性來實現,這個值一定要是樣式表的一個全路徑,這樣做,在編輯頁面時,編輯器會調用此css樣式,這樣,就與瀏覽頁面時看到的樣式一致了。
這個例子中最重要的一行就是“<cms:include element="body"> ”標籤,它包含一個可編輯的頁面元素。
編輯頁面,也就是編輯頁面中的“body”元素,因為JSP模板指定了css,所以此處輸入的內容按css樣式顯示:
最後瀏覽此檔案,如:
這樣,就完成了一個簡單JSP模板的建立過程,後面將會繼續JSP模板開發的介紹……