sitemesh應用Decorator模式

簡介:

sitemesh應用Decorator模式,用filter截取request和response,把頁面組件head,content,banner結合爲一個完整的視圖。通常我們都是用include標籤在每個jsp頁面中來不斷的包含各種header, stylesheet, scripts and footer,現在,在sitemesh的幫助下,我們可以簡單完成不同請求的界面視圖。

1、在decorators.xml中設置模版

<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/views">
    
    <!-- 默認裝飾頁面, 在需要裝飾的頁面增加<meta name="decorator" content="default"/> -->
    <decorator name="blank" page="layouts/blank.jsp" />
    <decorator name="default" page="layouts/default.jsp" />
    
    <!-- CMS基礎主題裝飾頁面 -->
    <decorator name="cms_default_basic" page="modules/cms/front/themes/basic/layouts/default.jsp" />
    <decorator name="cms_default_weixin" page="modules/cms/front/themes/weixin/layouts/default.jsp" />
    

</decorators>

2、在頁面文件中引用模版<meta name="decorator" content="cms_default_${site.theme}"/>

<head>
    <title>首頁</title>
    <meta name="decorator" content="cms_default_${site.theme}"/>
    <meta name="description" content="JeeSite ${site.description}" />
    <meta name="keywords" content="JeeSite ${site.keywords}" />

</head>

其中content=“cms_default_${site.theme}”中的“cms_default_${site.theme}”對應“decorators.xml”配置文件中的“ name”屬性值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章