我们在开发web的时候往往有很多页面具有相同或者类似的结构,他们共有导航栏,页眉,页脚等基础页面,如下图所示,一种较为普遍的页面布局格式。
![](/upload/picture/pic/41836/1909eb50-7b49-3545-bda9-492fc68c70e6.jpg)
那我们每个页面都要写这么多的代码是不是会很麻烦呢?的确,会相当的麻烦。有人说我们只要用jcp的include标签来引入具有共同结构的页面会省去很多的麻烦,是这样的。但是如果我们要该掉这个框架呢?我们要把页脚变的高一些呢?是不是我们又得到所有页面当中去修改呢?是的,那样真的很麻烦。那我们又开始想了,有没有一种方法可以使得这个框架被抽出来呢?要修改框架的话只要修改一个就可以了。答案是肯定的。struts的tiles就可以完成这个功能。
就像刚刚说的那样,我们需要有一个基础的框架。这里我们定义一个layout.jsp的页面
<%@ page language="java" pageEncoding="GB2312"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>MyJsp.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<table style="width: 100%" border="1">
<tr style="height: 80px">
<td rowspan="3" style="width: 20%">
<tiles:insert attribute="sidebar" />
</td>
<td><tiles:insert attribute="header" /></td>
</tr>
<tr style="height: 400px">
<td>
<tiles:insert attribute="content" />
</td>
</tr>
<tr style="height: 40px">
<td>
<tiles:insert attribute="footer" />
</td>
</tr>
</table>
</body>
</html:html>
<tiles:insert attribute="sidebar" />大家都看到了这个标签,这就是传说中的tiles标签。说通俗点,该标签在该闻之留下了记号,这个记号就是sidebar(就像小狗喜欢在自己的地盘留下点气味一样)。这条叫tiles的小狗留下这个所谓的气味有什么用呢,这个吗,慢慢会过来和大家说的。
我们再来看看这个布局,这个布局一共需要4个页面组成。我们把这四个页面定义成head.jsp;sidebar.jsp;content.jsp;footer.jsp。这四个页面的代码分别如下所示
<%@ page language="java" pageEncoding="GB2312"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>页眉</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
这个标题页面
</body>
</html:html>
其余3个页面和该页面类似,我们就不写了。下面我们需要一个实实在在的页面,通过tiles这只小狗的气味把这4个页面给召唤过来,我们把这个页面取名为index.jsp吧。代码如下图所示:
<%@ page language="java" pageEncoding="GB2312"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>主页</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<tiles:insert page="layout.jsp" flush="true" >
<tiles:put name="header" value="head.jsp"/>
<tiles:put name="sidebar" value="sidebar.jsp"/>
<tiles:put name="content" value="content.jsp"/>
<tiles:put name="footer" value="footer.jsp"/>
</tiles:insert>
</body>
</html:html>
我们来看一看这个index的效果图
![](/upload/picture/pic/41838/4bbb713c-f8f3-3146-ac34-e8ceb8f80f45.jpg)
看到效果了吧,我们来解释一些,这个index怎么通过layout和tiles小狗的气味把这些页面吸引过来的呢?来看看下面这段代码;
<tiles:insert page="layout.jsp" flush="true" >
<tiles:put name="header" value="head.jsp"/>
<tiles:put name="sidebar" value="sidebar.jsp"/>
<tiles:put name="content" value="content.jsp"/>
<tiles:put name="footer" value="footer.jsp"/>
</tiles:insert>
大家应该可以看的很清楚index是利用tiles:insert的page属性来引入框架的,而且通过tiles:put的name属性和小狗的气味进行关联,将相应的页面给吸引过来的。如果这个时候添加一个新的index2页面,也很简单,只要重新些一个属于index2的content页面就可以了。然后利用tiles可以轻轻松松的完成操作。
回到我们刚开始的话题,如果我们想把页脚调整的高一些,那么我们该怎么办呢?哈哈,你会发现这个很简单,只需要修改layout.jsp页面就可以了。不需要一个页面一个页面的修改。
怎么样?很方便吧。其实tiles还有很多功能,我们只是说了一个小方面,下面的大家自己去看吧,有时间继续更新自己的博客。
分享到:
相关推荐
Struts Tiles标签是Java Web开发中Struts框架的一部分,它主要负责处理页面布局和组合复杂的网页。Tiles框架提供了一种强大的模板机制,使得开发者能够创建可重用的、灵活的页面结构,从而提高代码的可维护性和可...
这个压缩包文件包含了使用Struts2和Tiles框架搭建的模板源码,便于学习和参考。 在Struts2中,Tiles框架的主要功能包括: 1. **页面模板**:Tiles允许定义页面模板,这些模板包含可重用的页面片段,如头部、底部和...
在探讨“Struts2 tiles操作例子”这一主题时,我们首先需要理解Struts2框架以及tiles插件在其中扮演的角色。Struts2是Apache软件基金会赞助的一个开源Web应用框架,它基于MVC(Model-View-Controller)设计模式,...
### Struts Tiles手册和实例详解 #### 一、引言 在Web开发中,界面布局的设计与维护一直是开发者关注的重点之一。Struts框架作为Java Web应用的基石之一,提供了多种功能来帮助开发者构建灵活且可扩展的应用程序。...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
Struts Tiles是一个强大的MVC框架Struts中的一个扩展,它提供了布局和组合页面的强大功能。Tiles框架使得开发者能够创建可重用的页面片段,并通过一个中心配置文件将这些片段组合成完整的网页。在这个"struts tiles ...
Struts1中的Tiles标签库是一种强大的布局管理工具,旨在提高Web应用的可重用性、可扩展性和可维护性。Tiles框架是Apache Software Foundation发起的一个开源项目,它为开发者提供了创建复合式网页的能力,允许在运行...
### Struts 中 Tiles 标签详解 #### 一、引言 在Web开发领域,尤其在使用Struts框架时,为了提高代码复用性及页面布局的灵活性,开发者经常使用到一个非常有用的工具——Tiles框架。Tiles框架允许我们通过组合可...
Struts-Tiles是Apache Struts框架的一个重要组成部分,主要用于构建Web应用中的页面布局和复合组件。这个框架使得开发者能够创建可重用、可配置的页面模板,极大地提高了开发效率和代码的可维护性。 首先,我们需要...
Struts2是一个强大的Java web应用程序框架,而Tiles是用于构建MVC(模型-视图-控制器)架构的一个视图组件库。将Tiles与Struts2结合使用,可以更有效地管理和组织网页布局,实现复杂的页面结构和重用内容。在本篇...
### Struts2.0 整合 Tiles 配置详解 #### 一、概述 Struts2框架是基于Java的企业级Web应用开发框架之一,而Tiles则是一个用来组织页面布局的强大工具。将Struts2与Tiles结合使用,可以更加灵活地管理页面结构,实现...
Struts Tiles是Apache Struts框架的一个扩展,它提供了一种组织和管理Web应用程序用户界面的强大方式。Tiles允许开发者创建可重用的UI组件,并通过一个中央配置文件来组合这些组件,形成复杂的页面布局。这种方式...
通过阅读和学习《Struts2+Tiles》相关的博客文章(如博文链接所示),你可以深入理解这两者的集成方式,如何配置Struts2的struts.xml和tiles.xml文件,以及如何在Action中使用Tiles API来决定页面内容。此外,你还能...
struts-tiles.tld 可以直接放到项目,然后修改web.xml即可
用于struts技术开发应用的架包 struts-tiles.1.3.10.jar
Struts2和Tiles是两个非常重要的Java Web开发框架,它们在构建高效、可维护的Web应用方面发挥着关键作用。Struts2是一个基于MVC(Model-View-Controller)模式的开源框架,它极大地简化了Java Servlets和JSP的开发。...
通过本教程的学习,我们了解了 Struts Tiles 在 Web 开发中的重要性和基本用法。Struts Tiles 作为一种强大的页面布局工具,可以帮助开发者更高效地构建出结构清晰、易于维护的 Web 应用程序。同时,我们也探讨了...
通过本篇文档的学习,我们了解到 Struts Tiles 如何帮助我们更高效地管理大型网站的页面布局。尽管 Tiles 有一定的学习成本,但它所提供的灵活性和可维护性使其成为大型项目中的首选工具。通过比较 Tiles 与 JSP ...
以上就是关于Struts Tiles框架的基础知识,通过深入理解和实践,开发者可以更有效地管理和组织Web应用程序的页面布局,提升开发效率。通过阅读"struts-tiles笔记.txt"和在"workspace"中进行实践,可以进一步掌握这个...