作为一款JSP-WEB视图组织布局模板,sitemesh采用的低侵入式的JSP过滤器方式载入WEB流程的,可以装饰目标jsp页,可以与常用的JSP应用框架整合,以及整合模板组件比如Freemarker,初步设置好之后再后面的应用jsp页面及java代码中都不需要再涉及,这是优点。比较常用的有2.4.2版本,目前有3.0.1版本,两个版本的配置方式有较大区别,从2升到3貌似碰到很多问题,比如乱码问题,但也并没说就非得用3.0不是吗。描述文档见“http://wiki.sitemesh.org/wiki/display/sitemesh/Home”。
相比较而言,同类的jsp布局框架tiles3,采用类似,侵入性较多,在后续java编码跳转视图上都要考虑目标jsp路径与tiles定义配置匹配,但是据说应用tiles3框架的展现加载效率要高点,而且定义比较灵活,运用方式贯穿每个页面流程。
两者比较,表格中Decorator代表sitemesh:
Aspect | Composite View | Decorator |
Reusability | The different parts of the page (template and pieces) can be reused across the whole application. | Each decorator can be reused, but the decoration itself can be applied to one page at a time. |
Ease of configuration | Each page must be defined explicitly. | The decorator can be applied even to the entire application. |
Runtime configuration | The pages can be configured and organized at runtime | Since one page is decorated at a time, this feature is not present. |
Performances | Low overhead for composition. | The page to be decorated has to be parsed. |
sitemesh2的配置方式:
1,添加所需的jar包,以及整合入其他框架的插件类jar包
sitemesh-2.4.2.jar,比如:struts2-sitemesh-plugin-2.3.xx.jar
2,在webapp的web.xml配置过滤器
<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>
3,配置WEB-INF/decorators.xml(与其他框架整合会被自动加载)
<?xml version="1.0" encoding="UTF-8"?> <decoratos defaultdir="/jsps"> <decorator name="myDecorator" page="decorator.jsp"> <pattern>/*</pattern> </decorator> <excludes> <pattern>*.html</pattern> <pattern>*.js</pattern> <pattern>*.gif</pattern> <pattern>*.jpg</pattern> <pattern>*.png</pattern> <pattern>*.css</pattern> </excludes> <decorator name="panel" page="/jsps/footer.jsp"></decorator> </decoratos>
4,建立配置装饰页(框架页,jsp)
jsp页中引入自定义标签“decorator”对应html的body/head/title,“page”标签对应其他子页面jsp页或者html
5,其他自定义...
sitemesh3的配置方式:
1,添加jar及相关框架插件jar
sitemesh-3.0.1.jar,比如:struts2-sitemesh-plugin-2.3.xx.jar
2,在webapp的web.xml配置过滤器
3,添加sitemesh3.xml至WEB-INF/,比如
<sitemesh> <mapping path="/*" decorator="/decorator.html"/> <mapping path="/admin/*" decorator="/admin-decorator.html"/> <mapping path="/index.jsp*" exclue="true" /> </sitemesh>
4,建立配置装饰页(比如decorator.html框架页,jsp或者html页)
(与2.0不同),因为装饰页可以是纯html,不引入jsp标签,仅仅是自定义html标签"sitemesh:write",插入页面的head/body/tilte:如"<sitemesh:write property='body'/>"
那么引入其他jsp/html就得靠其他方式了。
5,其他自定义
...
相关推荐
【sitemesh3-demo】是一个基于Sitemesh3框架的示例项目,旨在展示如何在Web应用程序中有效地实现页面布局和装饰功能。Sitemesh是一个开源的Java Web应用框架,主要用于增强网页的外观和结构,通过定义装饰模板,可以...
**Sitemesh3** 是一个开源的网页布局和装饰框架,用于Java Web应用程序。它主要目的是帮助开发者统一网站的外观和感觉,通过提供一种简单的方式来装饰(或模板化)整个Web应用中的页面。Sitemesh3是Sitemesh项目的第...
除了基本的装饰器配置之外,还可以对`sitemesh3.xml`进行更细致的配置: - **支持多种MIME类型**: ```xml <mime-type>text/html</mime-type> <mime-type>application/vnd.wap.xhtml+xml <mime-type>application...
标题:Sitemesh技术的应用 描述与标签:Sitemesh技术的应用 Sitemesh技术是Web开发领域中一种用于页面装饰的重要工具,尤其在Java Web应用程序中被广泛应用。其核心功能在于能够统一网站的外观风格,使不同功能...
**Sitemesh3** 是一个用于Web应用的页面布局工具,它可以为整个应用添加一致的头部、尾部和侧边栏等元素。通过装饰器模式,Sitemesh3可以在不改变每个页面代码的情况下,为所有页面添加统一的布局。这对于大型网站来...
在配置 Sitemesh3 时,开发者需要在 Web 应用的配置文件(如 web.xml)中设置过滤器,指定 Sitemesh3 的初始化参数,并配置装饰规则。同时,还需要在项目中创建装饰模板文件,定义页面的布局结构。 总结起来,...
在本例中,Sitemesh3用于处理页面布局,将通用的头部、尾部和侧边栏等元素应用于所有页面,提高用户体验和一致性。 4. **登陆过程**:登录过程通常包括以下几个步骤:用户输入用户名和密码,Spring MVC接收请求并...
**正文** `sitemesh3demo附配置说明`这个主题涉及到的是一...`sitemesh3demo`是学习和理解Sitemesh3功能和用法的宝贵资源,通过实际操作和分析其配置,开发者可以更好地掌握这个工具,从而提升Web应用的外观和一致性。
springmvc + mybatis + sitemesh3 超简洁例子 整合springmvc mybatis 方法请看: http://blog.csdn.net/kokoyuo/article/details/52808510
SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件如头部(head)、主体内容(content)以及横幅(banner)等组合成一个完整的...
SiteMesh框架在Java项目...3._portal项目:SiteMesh可以应用于门户项目中,以提高项目的开发效率和用户体验。 SiteMesh框架是一个非常优秀的页面装饰器框架,它可以提高项目的开发效率和维护性,提高项目的整体效果。
**Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...
页面装饰器(Sitemesh)是一种广泛用于Web应用的开源框架,它的主要功能是提供页面布局和装饰功能,使得开发者可以方便地实现统一的页面头部、尾部、侧边栏等元素,从而提高网站的整体风格一致性。在本实例中,我们...
sitemesh3插件是Web应用中用于页面布局和装饰的一种工具,它能够帮助开发者统一网站的外观和感觉,实现页面头部、底部、侧边栏等元素的共用,提高开发效率并增强用户体验。Sitemesh3是Sitemesh框架的第三个主要版本...
3. **定义装饰模板**:SiteMesh允许你创建一个或多个装饰模板,这些模板定义了页面的结构,如页眉、页脚、侧边栏等。你可以使用HTML或者JSP来编写模板。 4. **应用装饰**:通过在JSP页面中使用特殊的注解(例如`<@...
3. **内容与模板的合并**:SiteMesh 使用`<sitemesh:write>`标签或者其他类似方式,将页面的内容插入到装饰模板的相应位置。这样,用户接收到的最终页面就是装饰模板和原始内容的结合体。 4. **自定义装饰规则**:...
这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细讲解: 1. **安装与配置** - 首先,你需要将Sitemesh的JAR文件添加到你的项目类路径中。这可以...
SiteMesh 是一个开源的Web应用程序框架,主要用于帮助开发者实现页面布局和装饰功能。它通过拦截HTTP请求,将页面内容与布局模板相结合,从而提供了一种简单有效的方式来管理和控制Web应用的外观和感觉。在Web开发中...
SiteMesh是一个强大的Web页面布局工具,它允许开发者在Web应用中使用模板化的设计来构建网页。通过使用SiteMesh,可以很容易地实现对整个网站外观的统一控制,而无需对每个单独的页面进行修改。此教程基于SiteMesh...