`

sitemesh装饰器入门

阅读更多

一、拷贝sitemesh-2.4.1.jar(可以去官网下)到项目中的lib下

二、在web.xml中添加sitemesh的过滤器

Xml代码 复制代码 收藏代码
  1. <!-- 配置sitemesh -->  
  2. <filter>  
  3.   <filter-name>sitemesh</filter-name>  
  4.   <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>  
  5. </filter>  
  6.   
  7. <filter-mapping>  
  8.   <filter-name>sitemesh</filter-name>  
  9.   <url-pattern>/*</url-pattern>  
  10. </filter-mapping>  
	<!-- 配置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>

三、在WEB-INF下建一个装饰器配置文件,命名为:decorators.xml,默认与web.xml同级,若改变目录,则需要拷贝sitemesh.xml来进行修改。

四、在web项目中添加一个存放装饰器的文件夹,如decorators,页面见源代码。并在decorators.xml中进行配置,配置如下:

Xml代码 复制代码 收藏代码
  1. <!-- 排除一些页面不使用模版 -->  
  2. <excludes>  
  3.        <pattern>/login.jsp</pattern>  
  4.        <pattern>/login/*</pattern>  
  5. </excludes>  
  6.        
  7. <!-- 构造一个模版页面装饰器 -->  
  8. <decorator name="main" page="main.jsp">  
  9.     <pattern>/*</pattern>  
  10. </decorator>  
  11.        
  12. <decorator name="page" page="page.jsp"></decorator>  
<!-- 排除一些页面不使用模版 -->
<excludes>
       <pattern>/login.jsp</pattern>
       <pattern>/login/*</pattern>
</excludes>
    
<!-- 构造一个模版页面装饰器 -->
<decorator name="main" page="main.jsp">
    <pattern>/*</pattern>
</decorator>
    
<decorator name="page" page="page.jsp"></decorator>

五、部署并运行

 

拷贝一下网上的资源:

1.Sitemesh简介


    Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件象include那样将该文件作为一个面板的形式嵌入到别的文件中去。所有的这些,都是GOF的Decorator模式的最生动的实现。尽管它是由java语言来实现的,但它能与其他Web应用很好地集成。

2.与Strust Tiles比较


    从使用角度来看,Tiles似乎是Sitemesh标签<page:applyDecorator>的一个翻版。其实sitemesh最强的一个特性是sitemesh将decorator模式用在过滤器上。任何需要被装饰的页面都不知道它要被谁装饰,所以它就可以用来装璜来自php、asp、CGI等产生的页面了。你可以定义若干个装饰器,根据参数动态地选择装饰器,产生动态的外观以满足你的需求。它也有一套功能强大的属性体系,它能帮助你构建功能强大而灵活的装饰器。相比较而言,在这方面Tiles就逊色许多。

3.基本原理


    一个请求到服务器后,如果该请求需要sitemesh装饰,服务器先解释被请求的资源,然后根据配置文件获得用于该请求的装饰器,最后用装饰器装饰被请求资源,将结果一同返回给客户端浏览器。
下边是由Jsp和CGI产生的两个页面,它们通过sitemesh装饰后,形成了一致的用户界面。

分享到:
评论

相关推荐

    页面装饰器(sitemesh)实例源代码

    用sitemesh页面装饰器,将大名鼎鼎的开源即时通讯服务器openfire中运用的,布局页面抽取出来。MyEclipse中可以直接部署的代码。

    sitemesh入门demo

    sitemesh入门demo。博客 Sitemesh入门和使用笔记 对应源码

    SiteMesh入门学习

    SiteMesh入门学习,很好的学习总结,让你在短时间里掌握sitemesh

    sitemesh

    sitemesh 装饰 母版

    struts2-sitemesh_入门收集

    struts2-sitemesh_入门收集struts2-sitemesh_入门收集

    Struts2整合SiteMesh技巧

    概述 Struts 2.0提供一个Sitemesh插件... 缺省情况下,sitemesh假定装饰器文件保存在应用上下文根路径下的decorators目录下,如果采用如上配置,装饰器文件应该是ftl格式,如果需要使用其他格式,需要更改过滤器配置。

    sitemesh-3.0.1.jar

    sitemesh 装饰页面技术.

    sitemesh-3.0.1-javadoc

    SiteMesh会拦截对通过Web服务器请求的任何静态或动态生成的HTML页面的请求,处理内容,然后将其与一个或多个装饰器合并以生成最终结果。 SiteMesh也可以用于组成较小页面和布局的大页面。 SiteMesh速度很快。真快...

    sitemesh框架简单例子

    很简单的sitemesh入门教程,希望对大家有所帮助

    SiteMesh教程及SiteMesh官方文档翻译

    web布局框架 SiteMesh教程及SiteMesh官方文档翻译

    siteMesh demo 例子

    入门的demo...siteMesh与freemarker结合。。 siteMesh与velocity结合。。并且在siteMesh.xml用了不同的装饰器。。每个装饰器都有注释。。可以帮助理解。。请看readme.txt

    siteMesh demo+文档

    siteMesh demo siteMesh使用文档

    sitemesh入门教材

    sitemesh 入门教材 对初学者很有用,里边有实例 freemarker Java

    sitemesh简单教程页面装配器

    sitemesh 应用 Decorator 模式,用 filter 截取 request 和 response,把页面组件 d,content,banner 结合为一个完整的视图。通常我们都是用 include 标签在每个 jsp 页面中来 断的包含各种header , ...

    sitemesh.jar包

    sitemesh.jar包 sitemesh.jar 包sitemesh.jar 包sitemesh.jar包

    SiteMesh入门示例

    NULL 博文链接:https://cuisuqiang.iteye.com/blog/2066166

    sitemesh-2.2.1.jar sitemesh-2.2.1.jar

    sitemesh-2.2.1.jar

    MiddleGen+Sitemesh.zip

    MiddleGen-Hibernate: 本书使用版本:2.1 ... modtime=1096973436&big_mirror=0 下载文件:middlegen-2.1.zip MiddleGenIDE插件: 本书使用版本:1.2.0 ...(7)Sitemesh: ...下载文件:sitemesh-2.3.zip

    springMVC与sitemesh的结合

    springMVC与sitemesh的结合,

Global site tag (gtag.js) - Google Analytics