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

Tiles2 学习笔记之三——常用的方式(一)

    博客分类:
  • J2SE
阅读更多

继前一篇所写的Tiles的配置信息中,具有继承性 的这一特性,确实给我们带来了不少的方便。

但除此之后,Tiles2给我们的,还有更多好的惊喜呢。

 

1、List Attribute 列表属性

 

 1.1简单的例子

 配置:

 使用<put-list-attribute>标签

<definition name="myapp.homepage.body" template="/layouts/variable_rows.jsp">
  <put-list-attribute name="items">
    <add-attribute value="/tiles/banner.jsp" />
    <add-attribute value="/tiles/common_menu.jsp" />
    <add-attribute value="/tiles/credits.jsp" />
  </put-list-attribute>
</definition>

template 对应的 jsp中:

使用c标签中的进行遍历。

<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<tiles:useAttribute id="list" name="items" classname="java.util.List" />
<c:forEach var="item" items="${list}">
  <tiles:insertAttribute value="${item}" flush="true" />
  <br/>
</c:forEach>
 

 1.2 属性列表的继承

 

<definition name="myapp.homepage.body" template="/layouts/variable_rows.jsp">
  <put-list-attribute name="items">
    <add-attribute value="/tiles/banner.jsp" />
    <add-attribute value="/tiles/common_menu.jsp" />
    <add-attribute value="/tiles/credits.jsp" />
  </put-list-attribute>
</definition>

<definition name="myapp.homepage.body.extended" extends="myapp.homepage.body">
  <put-list-attribute name="items" inherit="true">
    <add-attribute value="/tiles/greetings.jsp" />
  </put-list-attribute>
</definition>

 

  这就实现在列表属性的继承,这里,在引入的地方所包含的就有着:

 

    * /tiles/banner.jsp
    * /tiles/common_menu.jsp
    * /tiles/credits.jsp
    * /tiles/greetings.jsp
 

2、Tiles2 运行合成

   当工程在执行的时候,允许在jsp中自行的去修改<definition>或属性等,看下面例子:

 

  2.1 jsp中进行动态的往definition中加入属性

<tiles:insertTemplate template="/layouts/classic.jsp">
  <tiles:putAttribute name="title" value="Tiles tutorial homepage" />
  <tiles:putAttribute name="header" value="/tiles/banner.jsp" />
  <tiles:putAttribute name="menu" value="/tiles/common_menu.jsp" />
  <tiles:putAttribute name="body">
    <tiles:insertTemplate template="/layouts/variable_rows.jsp">
      <tiles:putListAttribute name="items">
        <tiles:addAttribute value="/tiles/banner.jsp" />
        <tiles:addAttribute value="/tiles/common_menu.jsp" />
        <tiles:addAttribute value="/tiles/credits.jsp" />
      </tiles:putListAttribute>
    </tiles:insertTemplate>
  </tiles:putAttribute
  <tiles:putAttribute name="footer" value="/tiles/credits.jsp" />
</tiles:insertTemplate>
 

  2.2 插入临时修改的definition

    这在jsp中,临时对该definition进行某些属性的重写

<tiles:insertDefinition name="myapp.homepage.customer" template="/layouts/alternative_layout.jsp">
  <tiles:putAttribute name="menu" value="/tiles/common_menu_for_customers.jsp" />
</tiles:insertDefinition>

 

  2.3definition的临时创建和使用

    在jsp中

<tiles:definition name="myapp.homepage.customer" extends="myapp.homepage">
  <tiles:putAttribute name="menu" value="/tiles/common_menu_for_customers.jsp" />
  </tiles:definition>
<tiles:insertDefinition name="myapp.homepage.customer" />

 

3、使用API对Tiles2容器管理(还未理解好,碰到取不到Container的问题)

TilesAttributeContext attributeContext = container.getAttributeContext(request,response);
TilesAttributeContext attributeContext = container.startContext(request,
        response);
//这个Context还不知道怎么取到,程序编译不过。
 

 

 

 

 

 

 

分享到:
评论

相关推荐

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    tiles+struts2

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

    struts2 tiles2 配置例子

    Struts2和Tiles2是两种在Java Web开发中常用的框架,它们可以协同工作,帮助开发者构建复杂的、可重用的页面结构。以下是对Struts2整合Tiles2进行配置的详细步骤和相关知识点的说明。 首先,`tiles2`是Apache Tiles...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    Struts2 tiles操作例子

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

    struts2集成tiles2.myeclipse10教程

    Tiles2是另一个流行的Java库,它允许开发者将网页分解为可重用的部分,这些部分可以组合成更复杂的页面布局。MyEclipse10是一款功能丰富的集成开发环境,特别适合Java EE应用的开发。现在我们将深入探讨如何在...

    Struts2+技术内幕——深入解析Struts2架构设计与实现原理

    《Struts2技术内幕——深入解析Struts2架构设计与实现原理》配合《struts2基础.chm》,将帮助读者全面掌握Struts2的架构设计、核心组件、配置方式、插件使用以及源码解读,对于想要在Java Web领域深入发展的开发者来...

    Struts2+Tiles

    Struts2+Tiles是一个常用的Java Web开发框架组合,主要用于构建结构清晰、可维护性强的Web应用。Struts2是基于MVC(Model-View-Controller)设计模式的开源框架,而Tiles则是Struts2的一个视图层扩展,它提供了一种...

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

    Tiles2是一个强大的视图框架,它允许开发者创建可重用的页面组件,组合成复杂的布局,这在构建大型Web应用时非常有用。 首先,让我们了解Spring MVC和Tiles2的基础。Spring MVC是Spring框架的一部分,它提供了一个...

    Spring3 mvc集成Tiles2

    Spring3 MVC 集成 Tiles2 是一个常见的Web开发任务,用于构建结构化的、模块化的网页布局。Tiles2 是一个视图层框架,它允许开发者将网页分解为多个组件(或称为“tiles”),每个组件负责一部分内容或样式,然后...

    Struts-2.1.6整合Tiles2全攻略

    - **统一页面布局管理**:Tiles2作为一个模板引擎,能够帮助开发者轻松地实现页面布局的统一管理,提高代码的复用率。 - **提高开发效率**:通过定义模板,可以减少重复编码的工作量,使开发者能够更加专注于业务...

    struts中tiles标签简介

    在Web开发领域,尤其在使用Struts框架时,为了提高代码复用性及页面布局的灵活性,开发者经常使用到一个非常有用的工具——Tiles框架。Tiles框架允许我们通过组合可复用的组件来构建网页。这种组件化的思想不仅使得...

    Struts2与tiles集成示例

    3. **Tiles配置文件**: 在这里定义页面模板和组件,比如定义一个主页面,其中包含头部、内容和底部三个部分。 4. **Action Result配置**: 在Action的结果配置中,使用Tiles的定义作为结果类型,指定返回哪个Tiles...

    tiles+struts2配置文件

    在Java Web开发中,Struts2是一个非常流行的MVC(模型-视图-控制器)框架,而Tiles则是用于构建复杂的Web页面布局的框架。这两者的结合可以极大地提高开发者的工作效率和应用的用户体验。本篇文章将深入探讨如何在...

    三维瓦片数据(3d-tiles)

    三维瓦片数据(3d-tiles)是一种高效的数据组织和分发格式,广泛应用于现代地理信息系统、虚拟现实和增强现实应用中。它通过将复杂的三维模型分割成一系列金字塔层级的几何和纹理数据块,实现对大规模场景的快速加载...

    tiles框架增加一个页面的步骤

    通过以上步骤,我们不仅成功地在Tiles框架中添加了一个新的页面,而且还学习了如何使用Tiles框架来构建具有统一风格和外观的Web应用程序。Tiles框架的强大之处在于它的灵活性和可扩展性,它可以轻松地适应各种复杂的...

    Struts2学习笔记

    本学习笔记将深入探讨Struts2的核心概念、架构以及实际应用。 一、Struts2框架概述 1. 架构:Struts2基于Model-View-Controller(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可读性和可维护...

    struts2学习笔记

    这个“Struts2学习笔记”文档很可能是对Struts2框架的详细解析和实践指南。 Struts2的核心特性包括: 1. **Action和Result**: Struts2中的Action类是业务逻辑的载体,负责处理用户请求。Action执行完成后,会返回...

    Struts2中使用Tiles组件

    而Tiles是Struts2的一个重要组成部分,它允许开发者将多个页面组合成一个复杂的页面布局,实现了视图的重用和模块化。在Struts2中使用Tiles组件,可以更有效地管理和构建动态Web应用的用户界面。 首先,我们需要...

    tiles+servlet简单例子

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

Global site tag (gtag.js) - Google Analytics