`
mozhenghua
  • 浏览: 324550 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

apache tiles的点滴

 
阅读更多
  1. tiles官方网站:http://tiles.apache.org/framework/index.html
  2. strust2 plugin插件与tiles整合: http://struts.apache.org/2.x/docs/tiles-plugin.html
  3. 不需要在web.xml中定义<context-param>节点来配置tiles配置文件的方式    http://tiles.apache.org/framework/tutorial/wildcard-configuration.html

在编辑tiles config文件的时候,可以将框架页面的关系设置成继承的关系

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
	<definition name="com.koubei.layout.basic" template="/WEB-INF/layout/profileLayout.jsp">
		<put-attribute name="title" value="UC-Profile" />
		<put-attribute name="menu" value="com.koubei.Profile.Menu" />
		<put-attribute name="body" value="/WEB-INF/kvdb_user_profile.jsp" />
		<put-attribute name="titleInfo" value="UC用户信息" />
		<put-attribute name="query"
			value="/WEB-INF/include/userqueryParamSet.jsp" />
	</definition>

	<!-- UserInfo -->
	<definition name="com.koubei.layout.userInfo" extends="com.koubei.layout.basic">
		<put-attribute name="titleInfo" value="UC用户信息" />
		<put-attribute name="query"
			value="/WEB-INF/include/userqueryParamSet.jsp" />
		<put-attribute name="body" value="/WEB-INF/kvdb_user_profile.jsp" />
	</definition>
</tiles-definitions>

 

在配置文件中配置一个com.koubei.layout.basic框架页面,这个相当于是一个masterpage,可以让其他页面来继承这个masterpage来实现渲染。

但是在页面执行的过程中出现了问题,在执行/WEB-INF/kvdb_user_profile.jsp这个body页面的时候,不能取到在框架页面中定义的titleInfo和query这两个属性。原因很可能是每一个属性空间是相互隔离的,在definition中定义的<put-attribute/>标签中的属性只能在definition的template这个空间中可以被调用。

 

组合模式VS装饰器模式

tiles是标准的组合模式实现页面渲染的框架,sitemesh是标准的装饰模式的实现。tiles在应用的过程中,更像在面向对象的软件设计中使用继承的方式来重用页面(将父页面的layout,已经每个layout中的页面片段重用)。

从配置的角度来说,装饰器模式的页面重用方案确实比较方便,他可以定义一个装饰器,将它应用到整个应用程序之上,就能将整个应用程序都渲染了。然而组合模式页面重用方式是需要为每个具体的页面都需要有一个明确的配置信息。

 

另外,tiles在runtime时将不同的页面片段重新组合,配置生成一个新的页面,然后sitemesh是因为装饰器和页面是一对一的,在运行期不能动态生成一个装饰器,所以不能像tiles那样在运行期动态组合页面块。

 

在性能方面,tiles在运行时的开销比较小,然后sitemesh在运行期需要对被装饰页面有解析的过程,所以会有一定性能开销的

 

分享到:
评论

相关推荐

    springmvc与apache tiles整合demo

    Apache Tiles是一个视图框架,它允许开发者创建可重用的布局,并通过定义模板来组织页面。在Spring MVC中整合Apache Tiles,可以将页面设计与业务逻辑分离,提高代码的可维护性和复用性。 在Spring MVC中,视图解析...

    apache tiles jar所有jar包

    Apache Tiles 是一个强大的Java Web应用程序框架,主要用于构建和管理页面布局。它允许开发者将Web页面分解为可重用的部分,称为“Tiles”,这些部分可以组合成一个完整的页面。这个压缩包“apache Tiles jar”包含...

    apache tiles3.0

    Apache Tiles是Apache软件基金会的一个开源项目,主要用于Web应用中的页面组装。Tiles 3.0是该框架的一个重要版本,它提供了强大的布局管理功能,帮助开发者更有效地构建和维护复杂的Web界面。在本篇文章中,我们将...

    springMVC + freemarker + apache tiles

    SpringMVC、Freemarker和Apache Tiles是三个在Web开发中广泛应用的框架,它们各自承担着不同的职责。SpringMVC是Spring框架的一部分,主要用于构建基于Java的后端 MVC(Model-View-Controller)应用程序;Freemarker...

    Apache Tiles3整合SpringMvc

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

    apache_tiles2.2---文档读后总结

    Apache Tiles 2.2 是一款强大的模板引擎,用于简化Web应用程序的用户界面开发。它采用复合视图模式(The Composite View pattern),允许开发者定义一系列可重用的子页面(tiles),并通过组合这些子页面来构建完整...

    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是一个强大的视图层框架,它允许...

    thymeleaf-extras-tiles2:Thymeleaf与Apache Tiles 2.x的集成

    Apache Tiles 2版本2.2.1+ (建议使用2.2.2 ) Web环境(Tiles集成无法离线工作) Maven信息 groupId: org.thymeleaf.extras artifactId:*主程序包: thymeleaf-extras-tiles2 * Spring 3集成程序包: ...

    springmvc 集成 tiles2实现页面模板局部刷新

    在本文中,我们将深入探讨如何在Spring MVC框架中集成Tiles2来实现页面模板的局部刷新,同时关注浏览器的高度自适应性。Tiles2是一个强大的视图框架,它允许开发者创建可重用的页面组件,组合成复杂的布局,这在构建...

    apachetiles:这个 (apachetilesorigin) 是一个学习 apache tile 的测试项目,只能 fork 用于学习目的

    apachetiles This is a test project for learning apache tiles. Project can be forked for learning apache tiles. 建造 mvn clean install 部署 mvn jetty:run This will deploy the project on local host...

    tiles-3.0.8-all

    "tiles-3.0.8-all" 是一个与Apache Tiles相关的软件包,它是一个用于构建Web应用程序布局的强大框架。Tiles的主要功能是将多个HTML、JSP或FreeMarker模板组合成一个单一的页面,使得页面设计更为模块化和可重用。这...

    myfaces-example-tiles-1.1.6.rar_Tiles_jsf myfaces_jsf tiles exam

    `myfaces-example-tiles-1.1.6.rar` 是一个示例项目,它展示了如何在JavaServer Faces (JSF)环境中集成和使用Apache Tiles框架。这个例子特别关注MyFaces实现,一个流行的JSF实现库。 **JSF(MyFaces)介绍** Java...

    SpringMVCDemo2

    SpringMVC是一个强大的Java Web应用程序框架,用于构建后端服务,而Apache Tiles则是一个视图层框架,专门用于页面布局和组装。两者的整合能够帮助开发者更有效地管理和组织Web应用的用户界面。在这个名为...

    struts2.0 整合tiles 配置

    org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG &lt;param-value&gt;/WEB-INF/tiles.xml org.apache.struts2.tiles.StrutsTilesListener ``` 这里的配置指定了Tiles容器的工厂类以及定义...

    spring-multiple-viewresolver:Thymeleaf + Apache Tiles +内部Viewresolver组合配置

    在这个“spring-multiple-viewresolver”项目中,我们看到一个独特的配置,它结合了Thymeleaf、Apache Tiles以及Spring的内部视图解析器,来实现更为灵活和强大的视图管理。 首先,让我们详细了解一下Thymeleaf。...

    tiles+servlet简单例子

    Tiles全称为Tiles2,是Apache Struts项目的一部分,但它也可以独立于Struts使用。这个例子展示了如何在不依赖Struts的情况下,利用Tiles框架来组织和管理Web应用的视图。 【描述】"没有集成struts,单纯的tiles+...

    struts-tiles框架

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

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

    Tiles框架基于Apache Struts项目,其主要思想是定义模板(Tiles),这些模板是页面的可重用部分,如头部、导航栏、主体和页脚。通过这种方式,开发者可以创建一个主模板,然后在其中插入不同的内容区域,从而实现...

    struts2 tiles2 配置例子

    首先,`tiles2`是Apache Tiles框架的一个版本,它允许开发者定义和管理Web应用中的页面布局。Tiles2通过模板和组件的方式,让开发者可以创建可复用的页面部分,从而提高开发效率并保持代码的整洁。 **Step1: 导入...

    tiles2.1.2前端框架

    Tiles框架是Struts的一个扩展,最初由Apache软件基金会开发,其设计灵感来源于JSP Tiles。Tiles2.1.2是该框架的一个特定版本,它提供了一系列改进和优化,以提高开发效率和应用的可维护性。 在提供的文件列表中,...

Global site tag (gtag.js) - Google Analytics