﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-草原上的骆驼-随笔分类-sitemesh</title><link>http://www.blogjava.net/nkjava/category/36594.html</link><description>置身浩瀚的草原，一直前行</description><language>zh-cn</language><lastBuildDate>Wed, 10 Dec 2008 13:17:45 GMT</lastBuildDate><pubDate>Wed, 10 Dec 2008 13:17:45 GMT</pubDate><ttl>60</ttl><item><title>SiteMesh学习笔记1（一个优于Apache Tiles的Web页面布局、装饰框架）</title><link>http://www.blogjava.net/nkjava/archive/2008/12/10/245559.html</link><dc:creator>草原上的骆驼</dc:creator><author>草原上的骆驼</author><pubDate>Wed, 10 Dec 2008 12:14:00 GMT</pubDate><guid>http://www.blogjava.net/nkjava/archive/2008/12/10/245559.html</guid><wfw:comment>http://www.blogjava.net/nkjava/comments/245559.html</wfw:comment><comments>http://www.blogjava.net/nkjava/archive/2008/12/10/245559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nkjava/comments/commentRss/245559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nkjava/services/trackbacks/245559.html</trackback:ping><description><![CDATA[<span class="style7"><font color="#0000ff" size="4" face="宋体"> <font color="#000000">OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰（layout and decoration）<br />
的框架组件，能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外观的分离。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大<br />
量页面构成的项目中创建一致的页面布局和外观，如一致的导航条，一致的banner，一致的版权，等等。<br />
它不仅仅能处理动态的内容，如jsp，php，asp等产生的内容，它也能处理静态的内容，如htm的内容，<br />
使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件象include那样将该文件作为一个面板<br />
的形式嵌入到别的文件中去。所有的这些，都是GOF的Decorator模式的最生动的实现。尽管它是由java语言来实现的，但它能与其他Web应用很好地集成。<br />
<br />
</font></font></span><span class="style7"><font color="#0000ff" size="4" face="宋体"><font color="#000000">&nbsp; 官方：<a href="http://www.opensymphony.com/sitemesh/"><font color="#1d58d1">http://www.opensymphony.com/sitemesh/</font></a><br />
<br />
&nbsp;
下载地址：<a href="http://www.opensymphony.com/sitemesh/download.action"><font color="#1d58d1">http://www.opensymphony.com/sitemesh/download.action</font></a> 目前的最新版本是<font size="3"><span class="releaseName"><strong>Version 2.3</strong></span>；</font></font></font></span><br />
本文介绍sitemesh的简单应用：<br />
<br />
首先下载 sitemesh.jar， 拷贝到你的WEB-INF/lib文件夹下，然后将一下代码添加到你的web.xml下<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&lt;!--</span><span style="color: #000000;">&nbsp;sitemesh配置&nbsp;</span><span style="color: #000000;">--&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">filter</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">filter</span><span style="color: #000000;">-</span><span style="color: #000000;">name</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">sitemesh</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">filter</span><span style="color: #000000;">-</span><span style="color: #000000;">name</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">filter</span><span style="color: #000000;">-</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.opensymphony.module.sitemesh.filter.PageFilter<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">filter</span><span style="color: #000000;">-</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">filter</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">filter</span><span style="color: #000000;">-</span><span style="color: #000000;">mapping</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">filter</span><span style="color: #000000;">-</span><span style="color: #000000;">name</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">sitemesh</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">filter</span><span style="color: #000000;">-</span><span style="color: #000000;">name</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">url</span><span style="color: #000000;">-</span><span style="color: #000000;">pattern</span><span style="color: #000000;">&gt;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/filter-mapping&gt;</span></div>
<span class="style7"><font color="#0000ff" size="4" face="宋体"><font color="#000000"><font color="#0000ff" size="5"><font size="4"><font color="#000000">（注意过滤器的位置：应该在struts2的org.apache.struts2.dispatcher.FilterDispatcher过滤器之前
org.apache.struts2.dispatcher.ActionContextCleanUp过滤器之后，否则会有问题；）<br />
在WEB-INF下建立</font></font></font></font></font></span><span class="style7"><font color="#0000ff" size="4" face="宋体"><font color="#000000"><font color="#0000ff" size="5"><font size="4"><font color="#000000">decorators.xml文件，添加如下代码：<br />
</font></font></font></font></font></span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;?</span><span style="color: #ff00ff;">xml&nbsp;version="1.0"&nbsp;encoding="utf-8"</span><span style="color: #0000ff;">?&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">decorators&nbsp;</span><span style="color: #ff0000;">defaultdir</span><span style="color: #0000ff;">="/WEB-INF/decorators"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;此处用来定义不需要过滤的页面&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">excludes</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp; <br />
</span><span class="style7"><font color="#0000ff" size="4" face="宋体"><font color="#000000"><font color="#0000ff" size="5"><font size="4"><font color="#000000"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">pattern</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">/login/*</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">pattern</span><span style="color: #0000ff;">&gt;</span></font></font></font></font></font></span><br />
<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">excludes</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;用来定义装饰器要过滤的页面&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">decorator&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="main"</span><span style="color: #ff0000;">&nbsp;page</span><span style="color: #0000ff;">="main.jsp"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">pattern</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">/*</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">pattern</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">decorator</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">decorators</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp; <br />
</span></div>
<span class="style7"><font color="#0000ff" size="4" face="宋体"><font color="#000000"><font color="#0000ff" size="5"><font size="4"><font color="#000000">decorators.xml有两个主要的结点：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; decorator结点指定了模板的位置和文件名，通过pattern来指定哪些路径引用哪个模板<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; excludes结点则指定了哪些路径的请求不使用任何模板<br />
上面代码，凡是以/login/开头的请求路径一律不使用模板；<br />
decorators结点的defaultdir属性指定了模板文件存放的目录;</font></font></font></font></font></span><br />
<br />
<br />
在WEB-INF下建立decorators文件夹，在下面建立main.jsp,代码如下：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000;">&lt;%</span><span style="background-color: #f5f5f5; color: #000000;">@&nbsp;page&nbsp;language</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">java</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;contentType</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">text/html;&nbsp;charset=utf-8</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pageEncoding</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">utf-8</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #ffff00; color: #000000;">%&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000;">&lt;%</span><span style="background-color: #f5f5f5; color: #000000;">@&nbsp;taglib&nbsp;uri</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">http://www.opensymphony.com/sitemesh/decorator</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;prefix</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">decorator</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #ffff00; color: #000000;">%&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;!</span><span style="color: #ff00ff;">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;01&nbsp;Transitional//EN"&nbsp;"http://www.worg/TR/html4/loose.dtd"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;第一个装饰页面&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;从被装饰页面获取title标签内容,并设置默认值</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">decorator:title&nbsp;</span><span style="color: #ff0000;">default</span><span style="color: #0000ff;">="默认title"</span><span style="color: #0000ff;">/&gt;&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;从被装饰页面获取head标签内容&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">decorator:head</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
<br />
</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">SiteMesh装饰header</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">hr&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;从被装饰页面获取body标签内容&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">decorator:body&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">hr&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">SiteMesh装饰footer</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">h2</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp; <br />
</span></div>
<span class="style7"><font color="#0000ff" size="4" face="宋体"><font color="#000000"><font color="#0000ff" size="5"><font size="4"><font color="#000000">这就是个简单的模板，页面的头和脚都由模板里的静态HTML决定了，主页面区域用的是&lt;decorator:body /&gt;标签；<br />
也就是说凡是能进入过滤器的请求生成的页面都会默认加上模板上的头和脚，然后页面自身的内容将自动放到&lt;decorator:body /&gt;标签所在位置；<br />
<br />
&lt;decorator:title default="</font></font></font></font></font></span><span style="color: #0000ff;">默认title</span><span class="style7"><font color="#0000ff" size="4" face="宋体"><font color="#000000"><font color="#0000ff" size="5"><font size="4"><font color="#000000">" /&gt;：读取被装饰页面的标题，并给出了默认标题。<br />
&lt;decorator:head /&gt;：读取被装饰页面的&lt;head&gt;中的内容；<br />
&lt;decorator:body /&gt;：读取被装饰页面的&lt;body&gt;中的内容；</font></font></font></font></font></span><br />
<br />
<br />
好了，下载可以建立页面了，看看你的页面是不是被sitemesh改变了呢？（建立index.jsp）浏览<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #ffff00; color: #000000;">&lt;%</span><span style="background-color: #f5f5f5; color: #000000;">@&nbsp;page&nbsp;language</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">java</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;contentType</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">text/html;&nbsp;charset=utf-8</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pageEncoding</span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">utf-8</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #ffff00; color: #000000;">%&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;!</span><span style="color: #ff00ff;">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;01&nbsp;Transitional//EN"&nbsp;"http://wwwworg/TR/html4/loosedtd"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;第一个被装饰(目标)页面&nbsp;&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta&nbsp;</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">&nbsp;content</span><span style="color: #0000ff;">="text/html;&nbsp;charset=utf-8"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">被装饰（目标）页面title</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">h4</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">被装饰（目标）页面body标签内内容。</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">h4</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">使用SiteMesh的好处?</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">h3</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">很多很多</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp; <br />
</span></div>
<br />
<br />
<img src ="http://www.blogjava.net/nkjava/aggbug/245559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nkjava/" target="_blank">草原上的骆驼</a> 2008-12-10 20:14 <a href="http://www.blogjava.net/nkjava/archive/2008/12/10/245559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>