Tiles纵览
Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离。
它允许先创建模板,然后在运行时动态地将内容插入到模板中。Tiles框架建立在JSP的 include指令的基础上,但它提供了比JSP的include指令更强大的功能。Tiles框架具有如下特性:
·创建可重用的模板
·动态构建和装载页面
·定义可重用的Tiles组件
·支持国际化
Tiles框架包含以下内容:
·Tiles标签库
·Tiles组件的配置文件
·TilesPlugIn插件
Tiles 框架提供一种模板机制,它能将布局和内容的职责分离。本章前面描述的模板,允许您先创建模板,然后在运行时动态地将内容插入到布局中。如果您要根据国际化、用户喜好定制您的站点,或仅仅改变视感(这在每个网站迟早会发生的),您就会发觉模板是一个强有力的机制。Tiles框架具有如下特性:
u 模板能力
u 动态构建和装载页面
u 视屏定义
u 支持tile和布局重用
u 支持国际化
u 支持多通道
模板标签库已经存在于struts框架中相当长的时间了,这些标签可让您使用非常基本的模板方式在web应用程序中组织JSP页面。虽然这些标签对分离web应用程序的布局和内容很有帮助,但tiles框架走的更远,它实际上是模板标签库的超集,具备许多其它特性。
提示:tiles框架先前被称做Components,后来因为Component这个术语被滥用而改名。在tiles文档和源程序中某些地方仍然在沿用老的名称。
Cedric Dumoulin创立了tiles框架,它扩展了模板的概念,提供给开发人员在用JSP技术创建web应用程序时更大的灵活性和自由度。Web应用程序的内容仍然用JSP页面和JavaBeans驱动,但是布局由一个独立的JSP页面或XML文件(后面将提到)指定。
什么是tile?
Tile是web页面的一个区域,一个页面可以只有一个区域组成,或分解为几个区域。图14-1列举了Storefront应用程序的一个例子。
图14-1 Storefront应用程序的区域
border=0
一个JSP页面通常由几个区域或tile组成,关于页面没有什么特别的,仅仅是用在tiles框架中,并使用tiles标签库。
Tile 最重要的方面在于它是可复用的,对于布局和内容来说都是正确的。不同于大多数JSP页面,tiles组件在应用程序中重复利用,甚至可能跨应用程序复用。而且,tile不复杂。实际上,我们已经看到的大多数例子,包括例14-2到例14-4,都能归类为tiles。
=====================================================================================================================
=====================================================================================================================
=====================================================================================================================
=====================================================================================================================
=====================================================================================================================
=====================================================================================================================
=============******************************** 在struts中 tiles 开发步骤如下 ****************************======================
=====================================================================================================================
使用Tiles
1 创建Tiles定义。tiles-defs.xml文件
2 启动Tiles插件。
3 创建布局JSP并使用Tiles标记库。
4 创建内容JSP以填充布局JSP。
5 使用Tiles在tiles-defs.xml中定义内容。
1、 创建Tiles定义
基于XML配置文件的定义和属性
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE component-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" "tiles-config_1_1.dtd" >
<component-definitions>
<definition name=""/>
</component-definitions>
2 、启动Tiles插件
要启动并使用Tiles,需要将以下定义添加到应用程序的struts-config.xml文件中:
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml" />
</plug-in>
在plug-in元素中,您可以加入几个set-property元素给Plugin类传入附加的参数
。definitions-config参数指定包含tiles定义的xml文件。如果使用了多个文件名,则它们之间用逗号分隔。
definitions-debug参数指定调试的层次,允许值为:
0 :不输出调试信息。
1 :提供部分调试信息。
2 :提供完整的调试信息。
缺省值为0。
definitions-parser-details参数指定当定义文件被解析时所需要的调试信息的层次,该值传给Commons Digester。所允许的值同definitions-debug参数,缺省值为0。
definitions-parser-validate参数指明解析器是否验证Tiles配置文件,允许值为true和false,缺省值为true。
还有一个叫做definitions-factory-class的参数没有显示出来。您可以创建一个自定义工厂,然后在这里给出类名,缺省值为org.apache.struts.tiles.xmlDefinition.I18NfactorySet。
该定义使struts为应用程序加载并初始化Tiles插件。
3 、创建布局JSP并使用Tiles标记库
/pages/mainlayout.jsp
<%@ taglib uri="/tags/struts-tiles" prefix="tiles"%>
4 、创建内容JSP , 建立模板页面
/pages/header.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-logic" prefix="logic"%>
<table width="100%" border="1" height="100%">
<tr height="20%">
<td colspan="2">
<tiles:insert attribute="top" ></tiles:insert>
</td>
</tr>
<tr height="60%">
<td width="20%">
<tiles:insert attribute="menu"></tiles:insert>
</td>
<td width="80%">
<tiles:insert attribute="content"></tiles:insert>
</td>
</tr>
<tr height="20%">
<td colspan="2">
<tiles:insert attribute="footer"></tiles:insert>
</td>
</tr>
</table>
Welcome !
5、使用Tiles在tiles-defs.xml中定义内容。
<component-definitions>
<!-- 配置 tiles显示的根模版 -->
<definition name="tiles:/template" path="/layout.jsp">
<put name="top" value="top.jsp" />
<put name="menu" value="menu.jsp" />
<put name="content" value="welcome.jsp" />
<put name="footer" value="footer.jsp" />
</definition>
<!-- 首次访问的页面 -->
<definition name="tiles:/index" path="/layout.jsp"
extends="tiles:/template">
</definition>
</component-definitions>
---------------------------
注意 : 在 struts-config.xml 配置文件中, 只要将相应的<forward /> 中的 path 属性修改为 tiles-defs.xml 中的name就可以拉。。
ok , 大功告成拉。。。 赶快运行你的杰作看看吧。。。。。。。
没有合适的资源?快使用搜索试试~ 我知道了~
Tiles 框架技术,非常好的一个东东,和大家共享
共72个文件
jsp:16个
jpg:10个
tld:10个
需积分: 9 16 下载量 141 浏览量
2008-12-18
18:24:28
上传
评论
收藏 755KB RAR 举报
温馨提示
Tiles 框架,具体内容大家自己看啊,相信对大家有帮助的。
资源推荐
资源详情
资源评论
收起资源包目录
tiles 框架.rar (72个子文件)
tiles 框架
Struts 和 Tiles 辅助基于组件的开发.htm 73KB
Struts_Tiles
.project 1KB
.settings
org.eclipse.jdt.core.prefs 330B
.mymetadata 309B
WebRoot
caijing.jsp 957B
WEB-INF
struts-tiles.tld 8KB
.struts-config.mex 3KB
tiles-defs.xml 1KB
web.xml 1KB
struts-config.xml 960B
struts-bean.tld 9KB
struts-nested.tld 70KB
struts-html.tld 72KB
struts-logic.tld 14KB
validator-rules.xml 13KB
lib
classes
ApplicationResources.properties 72B
layout.jsp 1KB
index.jsp 122B
META-INF
MANIFEST.MF 39B
header.jsp 519B
images
bottom.jpg 14KB
Sunset.jpg 70KB
top.jpg 111KB
footer.jsp 523B
menu.jsp 630B
junshi.jsp 730B
welcome.jsp 400B
.myeclipse
src
ApplicationResources.properties 72B
.mystrutsdata 240B
.classpath 475B
TilesPrj
.project 1KB
.mymetadata 297B
WebRoot
post.jsp 11KB
WEB-INF
struts-tiles.tld 8KB
.struts-config.mex 2KB
tiles-defs.xml 991B
web.xml 1KB
struts-config.xml 766B
struts-bean.tld 9KB
struts-nested.tld 70KB
struts-html.tld 72KB
struts-logic.tld 14KB
validator-rules.xml 13KB
lib
jstl.jar 21KB
standard.jar 385KB
classes
ApplicationResources.properties 68B
layout.jsp 1KB
index.jsp 115B
META-INF
MANIFEST.MF 39B
top.jsp 105B
myinfo.jsp 1KB
images
middle2.jpg 9KB
middle4.jpg 9KB
bottom.jpg 14KB
error.jpg 2KB
error0.jpg 3KB
layout_24.gif 945B
Thumbs.db 17KB
middle1.jpg 36KB
top.jpg 111KB
footer.jsp 718B
menu.jsp 231B
style
btn.css 3KB
mycss.css 1KB
text.css 297B
welcome.jsp 96B
.myeclipse
src
ApplicationResources.properties 68B
.mystrutsdata 240B
.classpath 591B
解析Tiles组件的组合与扩展.htm 70KB
Tiles框架.htm 64KB
开发步骤.txt 6KB
共 72 条
- 1
资源评论
tonghui211306
- 粉丝: 8
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功