`
fcm915
  • 浏览: 111099 次
  • 性别: Icon_minigender_1
  • 来自: 泰安
社区版块
存档分类
最新评论

tiles是什么?

阅读更多
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

    这些文件"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框架

    Struts-Tiles是Apache Struts框架的一个重要组成部分,主要用于构建Web应用中的页面布局和复合组件。这个框架使得开发者能够创建可重用、可配置的页面模板,极大地提高了开发效率和代码的可维护性。 首先,我们需要...

    tiles2.1.2前端框架

    "tiles2.1.2前端框架"是一种基于Java的网页布局解决方案,主要用于构建和管理复杂的Web应用程序界面。这个框架在描述中被誉为“非常适合管理类页面架构”,意味着它特别适合那些需要有组织、可重用和模块化页面结构...

    Tiles框架入门教程示例(springmvc整合tiles)

    Tiles框架是一种用于构建Web应用程序布局的强大工具,它允许开发者将页面分解为可重用的组件,这些组件可以组合成一个完整的视图。SpringMVC是一个流行的Java Web开发框架,用于处理HTTP请求和响应。在本教程中,...

    struts中tiles标签简介

    ### Struts 中 Tiles 标签详解 #### 一、引言 在Web开发领域,尤其在使用Struts框架时,为了提高代码复用性及页面布局的灵活性,开发者经常使用到一个非常有用的工具——Tiles框架。Tiles框架允许我们通过组合可...

    tiles+struts2

    Struts2是一个强大的Java web应用程序框架,而Tiles是用于构建MVC(模型-视图-控制器)架构的一个视图组件库。将Tiles与Struts2结合使用,可以更有效地管理和组织网页布局,实现复杂的页面结构和重用内容。在本篇...

    spring tiles

    ### Spring结合Tiles框架详解 #### 一、Spring与Tiles框架简介 **Spring**是一个轻量级的Java开发框架,主要用于简化企业级应用的开发过程。它提供了强大的依赖注入(DI)功能,使得开发者能够轻松地管理和组织...

    tiles2.0 jar包

    Tiles 2.0 是一个流行的Java Web开发框架的一部分,它主要用于构建动态网页应用中的视图层。这个jar包是Tiles框架的一个版本,用于帮助开发者更好地组织和管理网页模板。Tiles框架最初是Apache Struts项目的一部分,...

    Struts1-tiles标签

    Struts1中的Tiles标签库是一种强大的布局管理工具,旨在提高Web应用的可重用性、可扩展性和可维护性。Tiles框架是Apache Software Foundation发起的一个开源项目,它为开发者提供了创建复合式网页的能力,允许在运行...

    cesium的3d-tiles转换工具

    本篇文章将深入探讨“cesium的3D Tiles转换工具”,以及如何将.OBJ模型转换为3D Tiles格式。 首先,.OBJ是一种常见的3D模型文件格式,由Wavefront Technologies开发,用于存储包括几何信息、纹理坐标等在内的三维...

    struts资料\Tiles框架--页面布局

    Struts Tiles框架是Java Web开发中的一个重要组成部分,主要用于构建可重用和模块化的Web应用程序页面布局。这个框架允许开发者将一个大的页面分解成多个小的、独立的部分,这些部分可以被单独设计、测试和重用,...

    tiles框架包

    【标题】"tiles框架包"涉及的核心是Tiles框架,它是一个用于构建Web应用程序视图的MVC(模型-视图-控制器)组件。Tiles的主要功能是将页面布局拆分为多个可重用的部分,称为“瓷砖”,从而提高了网页设计的效率和可...

    struts2.0 整合tiles 配置

    ### Struts2.0 整合 Tiles 配置详解 #### 一、概述 Struts2框架是基于Java的企业级Web应用开发框架之一,而Tiles则是一个用来组织页面布局的强大工具。将Struts2与Tiles结合使用,可以更加灵活地管理页面结构,实现...

    Spring mvc3 tiles

    **Spring MVC 3 与 Tiles 框架整合** 在Web开发中,Spring MVC和Tiles是两个非常重要的组件。Spring MVC作为一个强大的MVC框架,负责处理应用的业务逻辑和视图展示,而Tiles则是一个视图层框架,主要用于页面布局和...

    Struts2 tiles操作例子

    在探讨“Struts2 tiles操作例子”这一主题时,我们首先需要理解Struts2框架以及tiles插件在其中扮演的角色。Struts2是Apache软件基金会赞助的一个开源Web应用框架,它基于MVC(Model-View-Controller)设计模式,...

    tiles+servlet简单例子

    【标题】"tiles+servlet简单例子"涉及到的技术是Tiles框架与Servlet的结合使用。Tiles全称为Tiles2,是Apache Struts项目的一部分,但它也可以独立于Struts使用。这个例子展示了如何在不依赖Struts的情况下,利用...

    tiles配置文件

    ### Tiles配置文件详解 #### 一、Tiles框架概述 **Tiles**框架是为了解决Web应用中的页面布局问题而设计的一种轻量级解决方案。它主要应用于MVC(Model-View-Controller)架构中的视图层,尤其适用于使用Struts...

    tiles学习文档

    【Tiles学习文档】 Tiles是Apache软件基金会Struts项目的一个组件,它主要负责处理Web应用中的视图层,尤其是页面布局和重用。Tiles的核心概念是“页面模板”,它允许开发者创建可重用的页面片段,并将它们组合成...

    springmvc与apache tiles整合demo

    2. **配置Tiles**:在Spring MVC的配置文件(如`tiles-context.xml`)中,需要配置Tiles的视图解析器`TilesViewResolver`,以及相关的`TilesConfigurer`,设置Tiles的配置文件路径。 3. **创建Tiles配置文件**:...

    Apache Tiles3整合SpringMvc

    Apache Tiles3 是一个强大的视图框架,用于构建和管理网页应用中的页面布局。它允许开发者定义页面模板,然后通过组合这些模板来创建复杂的页面结构。Spring MVC 是一款流行的基于模型-视图-控制器(MVC)设计模式的...

Global site tag (gtag.js) - Google Analytics