SiteMesh是一個網頁布局和修飾的框架,利用它可以將網頁的內容和頁面結構分離,以達到頁面結構共享的目的。
它能通過創建一個包裝對象,也就是裝飾來包裹的對象。儘管它是由Java語言來實現的,但是它能與其他Web套用很好的集成。
基本介紹
簡介,功能基礎,工作原理,使用協定,
簡介
OS(OpenSymphony)的SiteMesh是一個用來在JSP中實現頁面布局和裝飾(layout and decoration)的框架組件,能夠幫助網站開發人員較容易實現頁面中動態內容和靜態裝飾外觀的分離。
功能基礎
Sitemesh是由一個基於Web頁面布局、裝飾及與現存Web套用整合的框架。它能幫助我們在由大量頁面工程的項目中創建一致的頁面布局和外觀,如一致的導航條、一致的banner、一致的著作權等。它不僅能處理動態的內容,如JSP、PHP、ASP、CGI等產生的內容,還能處理靜態的內容,比如HTML的內容,使得它的內容也符合你的頁面結構的要求。甚至它能像include那樣將HTML檔案作為一個面板的形式嵌入到別的檔案中去。所有的這些,都是GOF的Decorator模式的最生動的實現。裝飾模式是在不必改變原類檔案和使用集成的情況下,動態地擴展一個對象的功能。它能通過創建一個包裝對象,也就是裝飾來包裹的對象。儘管它是由Java語言來實現的,但是它能與其他Web套用很好的集成。
工作原理
SiteMesh是基於Servlet的filter的,即過濾流。它是通過截取response,並進行裝飾後再交付給客戶。
其中涉及到兩個名詞: 裝飾頁面(decorator page)和 "被裝飾頁面(Content page)" , 即 SiteMesh通過對Content Page的裝飾,最終得到頁面布局和外觀一致的頁面,並返回給客戶
sitemesh運行環境需要:servlet, JDK 。
使用協定
Sitemesh使用OpenSymphony軟體許可(OpenSymphony Software License),並完全兼容Apache軟體許可(Apache Software License)。