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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

sitemesh2.4

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

Sitemesh 是由一個(gè)基于 Web 頁(yè)面布局、裝飾及與現(xiàn)存 Web 應(yīng)用整合的框架。它能幫助我們由大量頁(yè)面工程的項(xiàng)目中創(chuàng)建一致的頁(yè)面布局和外觀,如一 致的導(dǎo)航條、一致的 banner 、一致的版權(quán)等。它不僅能處理動(dòng)態(tài)的內(nèi)容,如 JSP 、 PHP 、 ASP 、 CGI 等產(chǎn)生的內(nèi)容,還能處理靜態(tài)的內(nèi)容,比如 HTML 的內(nèi)容,使得它的內(nèi)容也符合你的頁(yè)面結(jié)構(gòu)的要求。甚至它能像 include 那樣將 HTML 文件作為一個(gè)面板的形式嵌入到別的文件中去。它的主要思想是裝飾模式。

前提:依賴于 >=Servlet 2.3 版本里引入的新功能 —— 過(guò)濾器 (Filters) 。

好處:

使用 sitemesh 給我們帶來(lái)的是不僅僅是頁(yè)面結(jié)構(gòu)問(wèn)題,它的出現(xiàn)讓我們有更多的時(shí)間去關(guān)注底層業(yè)務(wù)邏輯,而不是整個(gè)頁(yè)面的風(fēng)格和結(jié)構(gòu)。它讓我們擺脫了大量用 include 方式復(fù)用頁(yè)面尷尬局面,它也提供了很大的靈活性以及給我們提供了整合異構(gòu) Web 系統(tǒng)頁(yè)面的一種方案。

第一步:拷貝sitemesh-2.4.jar到工程中
第二步:在web.xml中配置com.opensymphony.sitemesh.webapp.SiteMeshFilter

<filter><filter-name>sitemesh</filter-name><filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class></filter><filter-mapping><filter-name>sitemesh</filter-name><url-pattern>/*</url-pattern></filter-mapping>

第三步:創(chuàng)建并編輯sitemesh配置文件decorators.xml

<?xml version="1.0" encoding="UTF-8"?> <decorators defaultdir="/WEB-INF/sitemesh/"><decorator name="main" page="basic.jsp"><pattern>/*</pattern></decorator> </decorators>

附一個(gè)decorators.xml 配置文件的講解:(可根據(jù)自己實(shí)際情況編寫(xiě)裝飾規(guī)則)

<? xml version = "1.0" encoding = "utf-8" ?>< decorators defaultdir = "/WEB-INF/decorators" ><!—- 定義一個(gè)絕對(duì)路徑 —><!-- excludes 標(biāo)簽標(biāo)示不需要進(jìn)行裝飾的 url -- >< excludes >< pattern > /css /* </ pattern >< pattern > /js /* </ pattern >< pattern > /images/* </ pattern >< pattern > /buyer/viewmerchantproduct * </ pattern >< pattern > /buyer/toindex.do* </ pattern > < pattern > /buyer/buyerlogout.do </ pattern > < pattern > */admin -ajax /* </ pattern >< pattern > */merchant/tomerchantlogin.do* </ pattern >< pattern > */admin /toadminlogin.do* </ pattern >< pattern > */admin /adminlogin.do* </ pattern >< pattern > /merchant/info/login.do* </ pattern >< pattern > /merchant/report/* </ pattern ></ excludes ><!—- 以下是定義一些模板 主要包括模板的 name 和 page -->< decorator name = "adminmain" page = "adminmain.jsp" >< pattern > /admin /* </ pattern ></ decorator >< decorator name = "buyerbackstagemain" page = "buyerbacktage.jsp" >< pattern > /buyer/backstage/* </ pattern ></ decorator >< decorator name = "seobuyermain" page = "seobuyermain.jsp" >< pattern > /buyer/viewcategoryproduct.do* </ pattern >< pattern > /buyer/viewrootcategory.do* </ pattern >< pattern > /buyer/viewstandproductdetail.do* </ pattern >< pattern > /buyer/viewproductreview.do* </ pattern ></ decorator >< decorator name = "buyermain" page = "buyermain.jsp" >< pattern > /admin /previewproduct /* </ pattern >< pattern > /buyer/* </ pattern >< pattern > /adminpreview /previewbuyerhelpatricle.do </ pattern >< pattern > /adminpreview /previewbuyerupdateatricle.do </ pattern ></ decorator ></ decorators >

注意:模板的名字不要相同 , 如果相同錯(cuò)是不會(huì)報(bào),只會(huì)被最后的那個(gè)相同名字的模板裝飾。

url 攔截優(yōu)先級(jí):主要是配備的越精確優(yōu)先級(jí)就高,不是誰(shuí)在前面誰(shuí)的優(yōu)先級(jí)就高。

第四步:創(chuàng)建并編輯/WEB-INF/sitemesh/basic.jsp

<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator"%> <h1>User Manager</h1> <hr/> <decorator:body/>

sitemesh 標(biāo)簽講解:
<decorator:title default="Welcome to test sitemesh!" /> :讀取被裝飾頁(yè)面的標(biāo)題,并給出了默認(rèn)標(biāo)題。
<decorator:head /> :讀取被裝飾頁(yè)面的 中的內(nèi)容;
<decorator:body /> :讀取被裝飾頁(yè)面的 中的內(nèi)容;
當(dāng)然還有很多的標(biāo)簽,這里不再詳細(xì)描述。

總結(jié)

以上是生活随笔為你收集整理的sitemesh2.4的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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