Tiles提供了一种框架,供你定义和动态填充页面布局。每个页面布局就是一个定义了模板框架(或轮廓)并用占位符表示应该填充内容的位置的jsp。运行时tiles用其相关内容代替占位符,创建一个完整的页面和独特的布局实例。为了实现这个目标,Tiles使用了概念:定义和属性。
一个Tiles定义创建一条内容,并可以通过使用定义的名称将其插入JSP。每个定义有名称(或标识符),布局JSP和与定义相关联的一系列属性组成。一旦创建,该定义就可以包含在页面中或作为struts forward的目标(此为最常见的情况)。为了简化定义和属性的使用,Tiles使用XML配置文件(tiles-defs.xml)存储定义。Tiles还为创建定义和属性提供了JSP标记库,此外,还使用Tiles标记库将属性插入JSP
使用Tiles
1 启动Tiles插件。
2 创建Tiles定义。
3 创建布局JSP并使用Tiles标记库。
4 创建内容JSP以填充布局JSP。
5 使用Tiles定义。
1 启动Tiles插件
要启动并使用Tiles,需要将以下<plug-in>定义添加到应用程序的struts-config.xml文件中:
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<!-- Path to XML definition file -->
<set-property property="definitions-config"
value="/WEB-INF/config/tiles-defs.xml" />
</plug-in>
该定义使struts为应用程序加载并初始化Tiles插件。
2 创建Tiles定义
基于XML配置文件的定义和属性
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<!--
colimas tiles difinitions
Created by:Zhao Lei
Created date:2005/06/15
Modified date:2005/09/05
-->
<tiles-definitions>
<definition name="base-definition" path="/pages/mainlayout.jsp">
<put name="header" value="/pages/header.jsp" />
<put name="footer" value="/pages/footer.jsp" />
<put name="menu" value="" />
<put name="data" value=""/>
</definition>
<definition name="extends-definition" extends="base-definition">
<put name="navigator" value="" />
</definition>
<!--index-->
<definition name="index-definition" extends="base-definition" >
<put name="data" value="/pages/indexcon.jsp" />
</definition>
</tiles-definitions>
3 创建布局JSP并使用Tiles标记库
/pages/mainlayout.jsp
<%@ taglib uri="/tags/struts-tiles" prefix="tiles"%>
<body>
<tiles:insert attribute="header"/>
<tiles:insert attribute="data"/>
<tiles:insert attribute="footer"/>
</body>
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"%>
<logic:present name="user">
<H3>Welcome <bean:write name="LoginForm" property="userID" />!</H3>
</logic:present>
<logic:notPresent scope="session" name="user">
<H3>Welcome Colimas!</H3>
</logic:notPresent>
<html:form action="/SelectLanguageAction.do">
<html:select property="language">
<html:option value="0">中国语</html:option>
<html:option value="1">日本語</html:option>
<html:option value="2">English</html:option>
</html:select>
<html:submit>Select</html:submit>
</html:form>
/pages/footer.jsp
Copyright c 2005 Nova Component System | All rights reserved <a href="contactus.htm">Contact Us</a> <a href="legal.htm">Legal</a> | <a href="policy.htm">Privacy Policy</a>
/pages/indexcon.jsp
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-logic" prefix="logic"%>
<html:form action="/LoginAction.do">
<p><bean:message key="index.jsp.userid"/><input type="text" name="userID" value="tyrone1979" /><br>
<bean:message key="index.jsp.pass"/><input type="password" name="password" value="123445"/><br>
<html:submit><bean:message key="index.jsp.login"/></html:submit>
</p>
</html:form>
<logic:present name="user">
<html:form actionf
分享到:
相关推荐
在Struts中使用Tiles模板,可以有效地组织和重用页面组件,提高开发效率。 在使用Tiles模板时,必须引入相应的jar包。这些jar包包含了Tiles框架的核心类库和依赖,它们是运行Tiles功能的基础。下面将详细介绍这些...
- **Action类**:Struts2的Action类负责业务逻辑处理,并根据需要决定渲染哪个Tiles模板。 - **JSP或FreeMarker模板**:这些模板文件包含了实际的HTML和逻辑,它们与Tiles组件对应,由Tiles框架组装成最终的页面。 -...
将Struts2与Tiles结合使用,可以更加灵活地管理页面结构,实现统一的页面风格,提高开发效率。 #### 二、所需JAR包 首先,为了能够成功地整合Struts2与Tiles,我们需要确保项目的类路径中包含以下JAR包: 1. **...
通过阅读和学习《Struts2+Tiles》相关的博客文章(如博文链接所示),你可以深入理解这两者的集成方式,如何配置Struts2的struts.xml和tiles.xml文件,以及如何在Action中使用Tiles API来决定页面内容。此外,你还能...
4. **Action Result配置**: 在Action的结果配置中,使用Tiles的定义作为结果类型,指定返回哪个Tiles定义。 5. **JSP页面引用**: 在JSP页面中,通过Tiles标签库引用Tiles定义,实现页面的动态组合。 通过Struts2和...
Struts1中的Tiles标签库是一种强大的布局管理...总的来说,Struts1的Tiles标签库是Web开发中一种高效且灵活的布局解决方案,它结合了布局管理器和模板机制的优点,使开发者能够更轻松地构建和维护复杂的Web应用程序。
在Struts2中使用Tiles组件,可以更有效地管理和构建动态Web应用的用户界面。 首先,我们需要理解Tiles的基本概念。Tiles是一个视图框架,它的核心思想是页面模板和组合。通过定义模板,我们可以创建一个基本的布局...
在探讨“Struts2 tiles操作例子”这一主题时,我们首先需要理解Struts2框架以及tiles插件在其中扮演的角色...对于任何想要提升Web应用开发效率的开发者来说,掌握Struts2 tiles插件的使用方法都是必不可少的技能之一。
在Struts-Tiles中,"Tiles"指的是页面模板或布局定义,它描述了页面的结构和内容如何组合。这些模板可以包含静态HTML元素,也可以包含动态内容,如JSP片段。"Definitions"是Tiles的配置,它们定义了如何将不同的...
要在Struts应用中使用Tiles,需要添加相应的依赖库,并在Struts的配置文件(struts-config.xml)中配置Tiles插件。然后,可以使用Tiles的标签库来引用定义,将定义插入到JSP页面中。 以上就是关于Struts Tiles框架...
将Tiles与Struts2结合使用,可以更有效地管理和组织网页布局,实现复杂的页面结构和重用内容。在本篇文章中,我们将深入探讨如何在Struts2中集成Tiles框架,以及如何利用它来展示信息。 首先,我们来理解一下Tiles...
1. **配置Tiles**:在struts.xml配置文件中添加Tiles插件的配置,以及定义页面模板。 2. **定义Tiles定义**:创建一个或多个tiles-defs.xml文件,定义每个页面模板及其组成部分。 3. **使用Tiles标签**:在JSP页面中...
而Tiles则是Struts的一个扩展,主要用于实现页面布局和模板设计,使得网页的构造更加模块化和可重用。 **Struts2.0框架的核心概念:** 1. **Action类**:它是业务逻辑处理的主要载体,负责接收请求、处理数据并返回...
在Web开发领域,尤其在使用Struts框架时,为了提高代码复用性及页面布局的灵活性,开发者经常使用到一个非常有用的工具——Tiles框架。Tiles框架允许我们通过组合可复用的组件来构建网页。这种组件化的思想不仅使得...
Struts2.1.8与Tiles2.0 Demo是一个经典的Java Web开发示例,它结合了两个强大的框架,Struts2作为MVC(模型-视图-控制器)框架,Tiles2用于页面布局管理。这个Demo旨在帮助开发者理解如何在实际项目中有效地利用这两...
3. **结果类型**:Struts2支持多种结果类型,如dispatcher(用于转发到JSP页面),freemarker(用于FreeMarker模板),以及tiles(用于Tiles模板)。 4. **OGNL表达式语言**:Struts2使用OGNL(Object-Graph ...
最后,通过浏览器访问`http://localhost:8080/%projectName%/Tile.action`,Struts2会根据`struts.xml`中的配置调用`TileAction`,然后使用Tiles2渲染`baseLayout`定义的页面。 通过这种方式,Struts2和Tiles2的...
4. **使用Tiles定向**:在Action类中,或者在Struts的ActionForward中指定Tiles定义来决定哪个Tile应该被显示。例如: ```java return mapping.findForward("baseLayout"); ``` 或者在`struts-config.xml`中: ...
Tiles配置是Struts2应用中不可或缺的一部分,它允许开发者定义可重用的页面片段(或称为“组件”),然后在多个页面中组合使用,实现模板化的设计。 **Tiles的核心概念** 1. **定义(Definition)**: 一个定义是一...
**注意**:在某些老版本(如2.0)的配置中,监听器类可能为`org.apache.struts2.tiles.web.startup.TilesListener`,而2.1版本中使用的是`org.apache.struts2.tiles.StrutsTilesListener`,这是2.0版本监听器类的一...