`

Sitemesh学习笔记

阅读更多

 

使用sitemesh的步骤

1. 添加jar文件到classpath

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中创建decorator.xml文件

 

<decorators defaultdir="/decorators">
    <decorator name="main" page="main.jsp">
         <pattern>/*</pattern>
    </decorator>
</decorators>

    defaultdir:指定了装饰页面的存放路径
    在这里可以使用<decorator>标签配置多个装饰器

 

4. 另外有一个可选的sitemesh.xml文件,放在/WEB-INF目录下。如果没用,则默认读取sitemesh.jar文件中的sitemesh-default.xml文件。这个文件在jar:com.opensymphony.module.sitemesh.factory包中。

 

在这个文件中可以指定使用那些mapper对象来装饰页面,也可以扩展自己的Mapper类。 sitemesh自带的mapper类放在com.opensymphony.module.sitemesh.mapper包中,可以供大家选择使用。

 

5. 这里是今天学习备注的重点com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper 这个类的使用。

 

在sitemesh-default.xml中,可以看到已经声明了这个类,并且可以通过查阅API来获得其使用方法。

在这个文件中可以看到配置了这个类的两个属性

property.1=meta.decorator

property.2=decorator

 通过查阅API可以找到,只要html文件中包含

<meta name="decorator" content="decoratorname">

<meta name="meta.decorator" content="decoratorname">

 就可以应用相应的装饰器,而不必在decorator.xml中使用<pattern>来规定哪些页面使用哪些装饰器。

 

 

<decorators defaultdir="/decorators">
    <decorator name="main" page="main.jsp">
    </decorator>
</decorators>

 

6. 一点联想:

 

   在com.opensymphony.module.sitemesh.mapper包中我看到了一个叫CookieDecoratorMapper的类,话说可以在用户的cookie中指定装饰器的名字。

 

这样我们可以通过扩展来实现基于用于的个人喜好设定,用户可以自己选择需要应用的装饰器(有点类似QQ空间选择个性主页模板),把装饰器的的名称存放起来,当浏览页面的时候自动去读取这个值以实现主页风格的动态切换。只是有个这个想法,还没有付诸行动,有兴趣的朋友可以试试看。

 

 

1
2
分享到:
评论
1 楼 aa80303857 2017-03-08  
不错,学习了。互相关注一下。

相关推荐

    SiteMesh教程及SiteMesh官方文档翻译

    ### SiteMesh教程及SiteMesh官方文档翻译 #### 使用SiteMesh简化网页布局 SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件...

    sitemesh框架学习

    但是这些方法out了,学习了sitemesh之后你就会发现在页面中的头部和底部自动导入;这才是真技术。像frame、iframe只适合后台框架,include适合前台,不可能100个页面都用include。所以sitemesh是你最好的选择,把源...

    java sitemesh 页面框架

    Java Sitemesh是一个开源的页面布局和装饰框架,它的主要目标是帮助开发者统一网站的外观和感觉,提高代码复用性,并...学习和掌握Sitemesh能让你在开发Java Web应用时更加得心应手,提升项目的整体质量和用户体验。

    sitemesh

    **Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...

    sitemesh框架简单例子

    通过深入学习和实践这个“sitemesh框架简单例子”,你将能够熟练地运用Sitemesh来构建更加专业且美观的Web应用。 总的来说,Sitemesh是一个强大且灵活的工具,它简化了Web页面布局的管理,让开发者能够专注于业务...

    siteMesh demo+文档

    SiteMesh 是一个开源的Web应用程序布局和装饰框架,主要用于解决Web应用中的页面布局问题。它通过拦截HTTP请求,将页面内容与预定义的布局模板相结合,实现统一的页面头部、底部和侧边栏等元素,从而提高网站的整体...

    SiteMesh

    SiteMesh 是一个开源的Web应用程序框架,主要用于帮助开发者实现页面布局和装饰功能。它通过拦截HTTP请求,将页面内容与布局模板相结合,从而提供了一种简单有效的方式来管理和控制Web应用的外观和感觉。在Web开发中...

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

    页面装饰器(Sitemesh)是一种广泛用于Web应用的开源框架,它的主要功能是提供页面布局和装饰功能,使得...通过实际操作和学习提供的`demo`,你可以进一步掌握Sitemesh的使用技巧,从而在自己的开发工作中游刃有余。

    sitemesh入门demo

    这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细讲解: 1. **安装与配置** - 首先,你需要将Sitemesh的JAR文件添加到你的项目类路径中。这可以...

    SITE MESH学习笔记

    SiteMesh 是一个强大的网页布局和装饰框架,它的主要目的是为了分离网页的内容(content)和页面结构...通过学习和熟练使用SiteMesh,开发者可以更好地组织和管理页面结构,提升用户体验,同时降低维护成本。

    sitemesh-2.2.1.jar sitemesh-2.2.1.jar

    **sitemesh-2.2.1.jar** 是一个用于Web应用程序界面布局的开源框架,由OpenSymphony团队开发。Sitemesh的主要功能是提供页面...对于希望提升网站整体视觉效果的开发者来说,学习和掌握Sitemesh是一项非常有价值的技术。

    sitemesh学习资料

    SiteMesh 是一个开源的网页布局和装饰框架,主要用于Java Web应用程序,它可以帮助开发者实现页面的统一外观和感觉,以及提供了...对于希望优化Web应用界面设计和管理的开发者来说,学习和掌握SiteMesh是非常有价值的。

    sitemesh3官方下载包

    通过分析和运行这些示例,开发者可以快速理解和学习如何配置和使用Sitemesh3进行页面装饰。 4. **配置说明**:这部分通常是一份文档,详细解释了如何配置Sitemesh3以适应不同的Web应用环境。它可能包括XML配置文件...

    sitemesh3-demo

    【sitemesh3-demo】是一个基于Sitemesh3框架的示例项目,旨在展示如何在Web应用程序中有效地...通过学习和分析这些文件,你可以更深入地理解Sitemesh3的工作原理和使用方法,进一步提升你在Web开发中的布局和美化能力。

    Sitemesh学习文档

    Sitemesh是一个强大的Java Web应用程序框架,由OpenSymphony团队开发,主要目的是增强网页的可维护性和重用性。...这使得开发者可以更方便地管理...通过学习和应用Sitemesh,开发者可以更高效地构建和维护大型的Web项目。

    sitemesh.jar包

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

    springMVC与sitemesh的结合

    而Sitemesh则是一个页面布局和装饰框架,主要用于处理Web应用中的页面布局问题,比如统一头部、底部和侧边栏,提升用户体验并简化开发。 将Spring MVC与Sitemesh结合使用,可以实现更高效的Web应用开发。以下是对这...

Global site tag (gtag.js) - Google Analytics