tiles
一、 说明
Tiles使得struts在页面的处理方面多了一种选择。并且更容易实现代码的重用。Tiles增加了layout的概念,其实就是把一个页面划分为几块。通常的来说一个页面大概可以划分为如下几块:
head页面头部:存放一个运用的公共信息:logo等,如果是网站可能是最上面的一块。
menu页面菜单:放置一个运用中需要使用的菜单,或者在每一个页面都使用的连接。
footer页面尾部:如版权信息等。
body页面主题内容:每个页面相对独立的内容。
如果按上面的划分那对每一个页面我们只要写body里面的内容,其他的就可以共享重用。
如果大多数页面的布局基本相同我们甚至可以使用一个jsp文件根据不同的参数调用不同的body。
二、 Tiles配置和基本配置文件介绍
Tiles有一个配置文件:tiles-defs.xml
tiles-defs.xml定义了每一个页面的组成元素和形式。
下面我将说明如下所示的一个tiles-defs.xml文件
tiles-defs.xml
-----------------------------------------------------------------
<tiles-definitions>
<!--定义/layout/ mainLayout.jsp的组成名称为bugbase.mainLayout -->
<definition name="bugbase.mainLayout" path="/layout/mainLayout.jsp">
<put name="title" value="质量管理系统" />
<put name="logo" value="/WEB-INF/pages/main/logo.jsp" />
<put name="mainMenu" value="/WEB-INF/pages/main/mainMenu.jsp" />
<put name="messages" value="/common/messages.jsp" />
<put name="submenu" value="/WEB-INF/pages/main/testManageSubMenu.jsp" />
</definition>
这里的title是标题,logo是界面上最左上角的标志,质量管理系统有两级菜单,mainMenu是主菜单,是不变的,而subMenu是子菜单,六个模块就有六个子菜单,是随模块而变化的。messages是错误信息。
<!--定义common.testManage,继承bugbase.mainLayout -->
<definition extends="bugbase.mainLayout" name="common.setting">
<put name="submenu" value="/WEB-INF/pages/main/settingSubMenu.jsp" />
<!--以上的元素将替换bugbase.mainLayout中的元素-->
</definition>
这里的common.testManage是测试管理模块的意思,这就是一个模块对应一个subMenu。
<!—定义setting.projectInfo,继承common.setting -->
<definition extends="common.setting" name="setting.projectInfo">
<put name="leftBody" value="/WEB-INF/pages/common/body/projectinfoleftbd.jsp" />
<put name="rightBody" value="/WEB-INF/pages/common/body/projectinforightbd.jsp" />
</definition>
这是说一个模块下有多个功能点,每个功能点下的左侧菜单是相同的,因此leftBody就是这个左侧菜单,变化的只是rightBody右侧部分而已。下面还有详解。
/layout/ mainLayout.jsp
-----------------------------------------------------------------
…
<html>
<head>
<title><tiles:getAsString name="title" /></title>
…
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="mainInit()" >
<table cellpadding="0" cellspacing="0" class="LogoTable" id="01" >
<tr valign="bottom">
<tiles:insert attribute="logo" />
<tiles:insert attribute="mainMenu" />
</tr>
<tr valign="top" >
<tiles:insert attribute="submenu" />
</tr>
</table>
<table class="MainTable" cellpadding="1" cellspacing="1">
<tr class="TrMain">
<td width="225" >
<tiles:insert attribute="leftBody" />
</td>
<td width="775">
<table>
<tiles:insert attribute="messages" />
</table>
<tiles:insert attribute="rightBody" />
</td>
</tr>
</table>
</body>
</html>
在web.xml里面配置tiles对应的taglib的配置如下:
web.xml
-----------------------------------------------------------------
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
在struts-config.xml里面配置tiles-defs.xml
Struts-config.xml
-----------------------------------------------------------------
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config"
value="/WEB-INF/plugin/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
<set-property property="definitions-parser-validate"
value="true" />
</plug-in>
三、 使用Tiles
如果已经配置好tiles-defs.xml,接下来就可以在jsp文件中使用这些定义了。
有如下的方式使用tiles
<%@ include file="/common/taglibs.jsp"%>
<tiles:insert definition="setting.projectInfo" flush="true" />
插入setting.projectInfo标记的一页
taglibs.jsp里包括这么一句话:
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
根据tiles-defs.xml里的setting.projectInfo设置
<definition extends="common.setting" name="setting.projectInfo">
<put name="leftBody" value="/WEB-INF/pages/common/body/projectinfoleftbd.jsp" />
<put name="rightBody" value="/WEB-INF/pages/common/body/projectinforightbd.jsp" />
</definition>
知道leftBody是/WEB-INF/pages/common/body/projectinfoleftbd.jsp页面,而
rightBody是/WEB-INF/pages/common/body/projectinforightbd.jsp页面。所以我们只需要建立projectinfoleftbd.jsp和projectinforightbd.jsp页面的就OK了,
而左侧部分就是项目设定中的菜单,因为项目设定中又包括很多子页,所以在整个项目设定中的左侧菜单是不变的,变的只有右侧主体部分,而projectinforightbd.jsp这个页面即项目设定中的一个项目基本信息的子页,项目设定中有多个这样的子页,这些页是在tiles-defs.xml配置的,比如说
<definition extends="common.setting" name="common.prjproductversionadd">
<put name="leftBody" value="/WEB-INF/pages/common/body/projectinfoleftbd.jsp" />
<put name="rightBody" value="/WEB-INF/pages/project/body/prjproductversionaddrightbd.jsp" />
</definition>
leftBody是相同的,都为projectinfoleftbd.jsp,变化的只有rightBody。
分享到:
相关推荐
这些文件"tiles-api-2.0.6.jar"、"tiles-core-2.0.6.jar"和"tiles-jsp-2.0.6.jar"是Apache Tiles框架的特定版本(2.0.6)的组件,它们用于构建复杂的Web应用页面布局。Apache Tiles是一个强大的视图层框架,它允许...
Struts-Tiles是Apache Struts框架的一个重要组成部分,主要用于构建Web应用中的页面布局和复合组件。这个框架使得开发者能够创建可重用、可配置的页面模板,极大地提高了开发效率和代码的可维护性。 首先,我们需要...
"tiles2.1.2前端框架"是一种基于Java的网页布局解决方案,主要用于构建和管理复杂的Web应用程序界面。这个框架在描述中被誉为“非常适合管理类页面架构”,意味着它特别适合那些需要有组织、可重用和模块化页面结构...
Tiles框架是一种用于构建Web应用程序布局的强大工具,它允许开发者将页面分解为可重用的组件,这些组件可以组合成一个完整的视图。SpringMVC是一个流行的Java Web开发框架,用于处理HTTP请求和响应。在本教程中,...
### Struts 中 Tiles 标签详解 #### 一、引言 在Web开发领域,尤其在使用Struts框架时,为了提高代码复用性及页面布局的灵活性,开发者经常使用到一个非常有用的工具——Tiles框架。Tiles框架允许我们通过组合可...
Struts2是一个强大的Java web应用程序框架,而Tiles是用于构建MVC(模型-视图-控制器)架构的一个视图组件库。将Tiles与Struts2结合使用,可以更有效地管理和组织网页布局,实现复杂的页面结构和重用内容。在本篇...
### Spring结合Tiles框架详解 #### 一、Spring与Tiles框架简介 **Spring**是一个轻量级的Java开发框架,主要用于简化企业级应用的开发过程。它提供了强大的依赖注入(DI)功能,使得开发者能够轻松地管理和组织...
Tiles 2.0 是一个流行的Java Web开发框架的一部分,它主要用于构建动态网页应用中的视图层。这个jar包是Tiles框架的一个版本,用于帮助开发者更好地组织和管理网页模板。Tiles框架最初是Apache Struts项目的一部分,...
Struts1中的Tiles标签库是一种强大的布局管理工具,旨在提高Web应用的可重用性、可扩展性和可维护性。Tiles框架是Apache Software Foundation发起的一个开源项目,它为开发者提供了创建复合式网页的能力,允许在运行...
本篇文章将深入探讨“cesium的3D Tiles转换工具”,以及如何将.OBJ模型转换为3D Tiles格式。 首先,.OBJ是一种常见的3D模型文件格式,由Wavefront Technologies开发,用于存储包括几何信息、纹理坐标等在内的三维...
Struts Tiles框架是Java Web开发中的一个重要组成部分,主要用于构建可重用和模块化的Web应用程序页面布局。这个框架允许开发者将一个大的页面分解成多个小的、独立的部分,这些部分可以被单独设计、测试和重用,...
【标题】"tiles框架包"涉及的核心是Tiles框架,它是一个用于构建Web应用程序视图的MVC(模型-视图-控制器)组件。Tiles的主要功能是将页面布局拆分为多个可重用的部分,称为“瓷砖”,从而提高了网页设计的效率和可...
### Struts2.0 整合 Tiles 配置详解 #### 一、概述 Struts2框架是基于Java的企业级Web应用开发框架之一,而Tiles则是一个用来组织页面布局的强大工具。将Struts2与Tiles结合使用,可以更加灵活地管理页面结构,实现...
**Spring MVC 3 与 Tiles 框架整合** 在Web开发中,Spring MVC和Tiles是两个非常重要的组件。Spring MVC作为一个强大的MVC框架,负责处理应用的业务逻辑和视图展示,而Tiles则是一个视图层框架,主要用于页面布局和...
在探讨“Struts2 tiles操作例子”这一主题时,我们首先需要理解Struts2框架以及tiles插件在其中扮演的角色。Struts2是Apache软件基金会赞助的一个开源Web应用框架,它基于MVC(Model-View-Controller)设计模式,...
【标题】"tiles+servlet简单例子"涉及到的技术是Tiles框架与Servlet的结合使用。Tiles全称为Tiles2,是Apache Struts项目的一部分,但它也可以独立于Struts使用。这个例子展示了如何在不依赖Struts的情况下,利用...
### Tiles配置文件详解 #### 一、Tiles框架概述 **Tiles**框架是为了解决Web应用中的页面布局问题而设计的一种轻量级解决方案。它主要应用于MVC(Model-View-Controller)架构中的视图层,尤其适用于使用Struts...
【Tiles学习文档】 Tiles是Apache软件基金会Struts项目的一个组件,它主要负责处理Web应用中的视图层,尤其是页面布局和重用。Tiles的核心概念是“页面模板”,它允许开发者创建可重用的页面片段,并将它们组合成...
2. **配置Tiles**:在Spring MVC的配置文件(如`tiles-context.xml`)中,需要配置Tiles的视图解析器`TilesViewResolver`,以及相关的`TilesConfigurer`,设置Tiles的配置文件路径。 3. **创建Tiles配置文件**:...
Apache Tiles3 是一个强大的视图框架,用于构建和管理网页应用中的页面布局。它允许开发者定义页面模板,然后通过组合这些模板来创建复杂的页面结构。Spring MVC 是一款流行的基于模型-视图-控制器(MVC)设计模式的...