快速业务通道

在SpringSide2.0中使用Tiles模板以减少网页代码的重复 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

在SpringSide2.0中使用Tiles模板以减少网页代码的重复

时间:2011-04-16 海边沫沫

在Web开发中,网页代码的重复是一个不可避免的问题。我们做的网站,所有的页面都会 有一个比较统一的页面布局,只有和数据有关的部分会不同。如果每一个页面都包含完整的 HTML代码,那么就会造成很多的重复代码,而且在修改那些公共部分(如页头和页尾)的时 候,要对多个页面进行修改,非常的麻烦。

当然,解决这个问题的办法有很多,在ASP.NET中,有一种叫做母板页的机制可以做到, 在Java开发中,也有很多的办法,最简单的就是使用在jsp文件中使用include指令,也可以 使用其它很多的第三方模板库。

我这里选用的是Tiles模板引擎,Tiles是Struts的组成部分,因此在SpringSide2.0中使 用的时候,不需要下载第三方的组件,也不需要额外配置,直接使用就行了。

比如,在我的网站中,我的welcome.jsp布局图如下:

在SpringSide2.0中使用Tiles模板以减少网页代码的重复 - 编程入门网

而我的用户注册页面RegUserStep1.jsp的布局图如下:

在SpringSide2.0中使用Tiles模板以减少网页代码的重复 - 编程入门网

在SpringSide2.0中使用Tiles模板以减少网页代码的重复(2)

时间:2011-04-16 海边沫沫

它们之间的区别,也就是只有左边的边栏和右边的内容区不同,而页头页脚和菜单栏都是 一样的。如果每一个页面都包含完整的HTML代码,则会造成相当大的代码重复。因此,我使 用了Tiles模板引擎。我把我的页面分成了以下几个部分:页头、菜单、边栏、内容栏、页尾 ,其次,网页中还有一些其它不可见的部分也是每个网页之间都有区别的,那就是网页标题 、CSS代码和Javascript代码,我也把它们抽取了出来。

首先,写一个layout.jsp文件,如下:

<%@page contentType="text/html; charset=UTF-8" %> <%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title> <tiles:insert attribute="title"/> </title> <tiles:insert attribute="style"/> <tiles:insert attribute="script"/> </head> <body> <tiles:insert attribute="header"/> <tiles:insert attribute="menu"/> <tiles:insert attribute="content"/> <tiles:insert attribute="sidebar"/> <tiles:insert attribute="footer"/> </body> </html>

这就是我的布局页面,这里的每一个<tiles:insert>标签都代表的是页面的一个部 分,在具体的页面中,我们可以给这些部分指定相应的jsp文件。我在项目中,为这每一个部 分都建立了一个文件夹,每一个文件夹中,都有一个default.jsp文件,这就是这个部分最常 用的内容,比如页头和页脚,有可能只需要一个default.jsp就够了,因为所有页面的页头和 页脚都是一样的。对于有特殊内容需要显示的页面,它比较特殊的那一部分就放到相应的文 件夹中。

不知道我的意思表达清楚了没有,我的项目的文件结构如下:

在SpringSide2.0中使用Tiles模板以减少网页代码的重复 - 编程入门网

我的welcome.jsp的代码如下:

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> <%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%> <tiles:insert page="layout.jsp" flush="true">    <til

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号