20.1 调整应用的风格
对于一个企业级的Web应用而言,页面展示需要有统一的风格,比如统一的配色、页头显示企业LOGO、页脚显示版权信息等等。在实际的开发中应该怎么做呢?
统一的配色可以通过引用相同的CSS,然后在CSS中进行调整。统一的页头和页脚呢?很显然,每个页面都拷贝相同的HTML代码这个做法是绝不可行的,因为如果页头、页脚的内容发生变化的话,所有的页面都要进行修改了。
因此,在实际开发中,一种可行的方案是使用框架,让框架中复杂内容展示的页面进行变化,而页头和页脚就不再变化了;另外一种可行的方案是:先把页头模板页面和页脚模板页面定义好,然后在每一页中使用include的方式进行引用,Jsp中提供了include的指令标记,也提供了include的标准动作,它们都能解决这个问题。这样在页头和页脚发生变化的时候,只需要修改相应的模板页面就可以了。
对于这个问题,还有更好的选择—使用SiteMesh。SiteMesh框架是OpenSymphony团队设计的,专门用于页面装饰的框架。SiteMesh使用装饰器模式,把指定的被装饰页面,也就是上面所说的具体页面,插入到指定的模板页面中,从而生成一个最终的、完整的页面。
图19.1 装饰页面
注意:在上面特意提到了SiteMesh的开发团队是OpenSymphony,您注意到了吗?ActionSupport类所在的包是什么?是com.opensymphony.xwork2.ActionSupport,从包的命名上可以看到那也是OpenSymphony团队的作品。不错,OpenSymphony团队正是Struts2的前身WebWork的开发者,所以说SiteMesh是和Struts2其实是一家人。
私塾在线网站原创《研磨struts2》系列
转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4178.html】
欢迎访问http://sishuok.com获取更多内容
分享到:
相关推荐
Struts 2.0提供一个Sitemesh插件,允许在Sitemesh模板中使用Struts标记。 要使用Sitemesh需要包含Freemark,Sitemesh和Sitemesh插件库文件。 配置过滤器 如果需要使用Freemark模板文件作为装饰器文件,需要在web....
NULL 博文链接:https://takeme.iteye.com/blog/1716488
一个Struts2+Spring2.5+SiteMesh的小DEMO,仅供大家做个参考!我也刚学会。欢迎大家多交流!
第10章 Struts 2的标签库,第11章 Struts 2的Ajax支持,第12章 使用FreeMarker充当表现层,第13章 整合Spring,第14章 整合JSF,第15章 整合SiteMesh,第16章 整合JasperReports,第17章 整合JFreeChart,第18章 ...
struts2-sitemesh-plugin-2.2.1.1.jarstruts2
struts2与sitemesh整合所需的两个最新架包sitemesh-2.4.2,struts2-sitemesh-plugin-2.1.8
struts2-sitemesh-plugin-2.1.6.jar
struts2-sitemesh-plugin-2.0.8.jar
struts2-2拦截器与SiteMeshstruts
struts2+sitemesh例子 该例子描述了struts2+sitemesh的配置,比较实用
Struts2+Spring+Hibernate+sitemesh做的一个在线音乐站点写的一个在线音乐 的站点.功能实现的相对比较粗糙(如歌曲列表没考虑分页什么的),另外只能使用IE(使用了ActiveX 控件播放音乐的).
struts2-sitemesh_入门收集struts2-sitemesh_入门收集
SiteMesh是一款网页布局和装饰器框架,也是一个网络应用程序整合框架,它可以用来维护那些很多页面,并且希望保持所有页面的布局、链接和风格一致的大型网站应用整合与维护。使用SiteMesh可以抽象出页面中的公共布局...
spring-boot-sitemesh 源码整合
struts框架与sitemesh框架整合的插件,在java web开发中可以制作模板页,使自己做的网站看起来更专业
struts2sitemesh-freemarker 源码
struts2-sitemesh-plugin-2.1.8.1.jar
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。 它不仅仅能处理动态的...
解决 java.lang.NoSuchFieldException: DEFAULT_PARAM>问题,下载后替换即可。
包含struts2-core-2.5.10.1.jar,struts2-jfreechart-plugin-2.5.10.1.jar,struts2-json-plugin-2.5.10.1.jar,struts2-junit-plugin-2.5.10.1.jar,struts2-bean-validation-plugin-2.5.10.1.jar,struts2-cdi-...