日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sitemesh 2.4

發(fā)布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sitemesh 2.4 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SiteMesh 是一個網(wǎng)頁布局和修飾的框架,利用它可以將網(wǎng)頁的內(nèi)容和頁面結(jié)構(gòu)分離,以達(dá)到頁面結(jié)構(gòu)共享的目的。

它通過對所有的用戶請求進(jìn)行過濾,并對服務(wù)器向客戶端響應(yīng)也進(jìn)行過濾,從而給原始的服務(wù)器響應(yīng)加入一定的裝飾,可以是header、footer等,然后將經(jīng)過裝飾后的頁面送回瀏覽者。對于被裝飾的頁面而言,它無需知道自身被誰裝飾,也無從知道自身被誰裝飾。

SiteMesh通過配置文件來配置指定的裝飾器,用于過濾某些頁面,則該裝飾器會裝飾這些頁面,從而提供更好的頁面效果,通過SiteMesh的頁面裝飾,可以提供更好的代碼復(fù)用,所有的頁面裝飾效果耦合在目標(biāo)頁面中,無需使用include指令來顯式包含裝飾效果,目標(biāo)頁面與裝飾頁面完全分開。提供更好的解耦,而且可以在應(yīng)用中所有的頁面都使用相同的裝飾頁面,整個Web應(yīng)用會有更統(tǒng)一的風(fēng)格,會提供更好的整體效果。

SiteMesh通過Filter來截取request和response,然后給原始的頁面加入一定的裝飾,再把結(jié)果返回給客戶端。

使用SiteMesh的步驟:

1、maven引入:

<dependency> <groupId>opensymphony</groupId><artifactId>sitemesh</artifactId><version>2.4.2</version> </dependency>

2、在web.xml中增加過濾器:

<!-- Sitemesh --> <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> </filter> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3、在WEB-INF中創(chuàng)建decorators.xml文件:

<?xml version="1.0" encoding="UTF-8"?> <decorators defaultdir="/layouts/"> <!-- 不需要過濾的請求 --> <excludes> <pattern>/static/*</pattern> <pattern>/remote/*</pattern> </excludes> <!-- 定義裝飾器要過濾的頁面 --> <decorator name="default" page="default.jsp"> <pattern>/*</pattern> </decorator> </decorators>
1、在decorator標(biāo)簽的page屬性是指向的jsp裝飾頁面,下面攔截的/*是真正的普通頁面,要被page指定的頁面所修飾,修飾頁面就是寫了一堆SiteMesh的標(biāo)簽,然后將pattern標(biāo)簽上url攔截到的被裝飾頁面的對應(yīng)裝飾頁面標(biāo)簽的head和body提取過來填充到裝飾頁面中。

2、excludes標(biāo)簽下配置的是不需要攔截忽略的url。

3、可以不需要使用<pattern>進(jìn)行攔截被裝飾頁面,可使用meta進(jìn)行攔截<meta name="xxx" content="xxx" />

引入了SiteMesh標(biāo)簽:

<sitemesh:title /> 會自動替換為被過濾頁面的title。

<sitemesh:head /> 會把被過濾頁面head里面的東西(除了title)放到這里。

<sitemesh:body /> 被過濾的頁面的body內(nèi)容會放到這里。

總結(jié)

以上是生活随笔為你收集整理的sitemesh 2.4的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。