`
DAOException
  • 浏览: 122711 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

struts的Tiles浅谈(其实就是学习笔记)

    博客分类:
  • java
阅读更多

      我们在开发web的时候往往有很多页面具有相同或者类似的结构,他们共有导航栏,页眉,页脚等基础页面,如下图所示,一种较为普遍的页面布局格式。

 

 

 

 

       那我们每个页面都要写这么多的代码是不是会很麻烦呢?的确,会相当的麻烦。有人说我们只要用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的效果图

 

      看到效果了吧,我们来解释一些,这个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标签学习

    Struts Tiles标签是Java Web开发中Struts框架的一部分,它主要负责处理页面布局和组合复杂的网页。Tiles框架提供了一种强大的模板机制,使得开发者能够创建可重用的、灵活的页面结构,从而提高代码的可维护性和可...

    struts2 tiles 模板搭建源码可运行

    这个压缩包文件包含了使用Struts2和Tiles框架搭建的模板源码,便于学习和参考。 在Struts2中,Tiles框架的主要功能包括: 1. **页面模板**:Tiles允许定义页面模板,这些模板包含可重用的页面片段,如头部、底部和...

    Struts2 tiles操作例子

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

    Struts Tiles手册和实例

    ### Struts Tiles手册和实例详解 #### 一、引言 在Web开发中,界面布局的设计与维护一直是开发者关注的重点之一。Struts框架作为Java Web应用的基石之一,提供了多种功能来帮助开发者构建灵活且可扩展的应用程序。...

    struts2四天的学习笔记

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

    struts tiles实现源码

    Struts Tiles是一个强大的MVC框架Struts中的一个扩展,它提供了布局和组合页面的强大功能。Tiles框架使得开发者能够创建可重用的页面片段,并通过一个中心配置文件将这些片段组合成完整的网页。在这个"struts tiles ...

    Struts1-tiles标签

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

    struts中tiles标签简介

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

    struts-tiles框架

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

    tiles+struts2

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

    struts2.0 整合tiles 配置

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

    struts_tiles.rar_Tiles_struts_struts til

    Struts Tiles是Apache Struts框架的一个扩展,它提供了一种组织和管理Web应用程序用户界面的强大方式。Tiles允许开发者创建可重用的UI组件,并通过一个中央配置文件来组合这些组件,形成复杂的页面布局。这种方式...

    Struts2+Tiles

    通过阅读和学习《Struts2+Tiles》相关的博客文章(如博文链接所示),你可以深入理解这两者的集成方式,如何配置Struts2的struts.xml和tiles.xml文件,以及如何在Action中使用Tiles API来决定页面内容。此外,你还能...

    struts-tiles.tld

    struts-tiles.tld 可以直接放到项目,然后修改web.xml即可

    struts-tiles

    用于struts技术开发应用的架包 struts-tiles.1.3.10.jar

    Struts2与tiles集成示例

    Struts2和Tiles是两个非常重要的Java Web开发框架,它们在构建高效、可维护的Web应用方面发挥着关键作用。Struts2是一个基于MVC(Model-View-Controller)模式的开源框架,它极大地简化了Java Servlets和JSP的开发。...

    first_struts_tiles_tutorial.pdf

    通过本教程的学习,我们了解了 Struts Tiles 在 Web 开发中的重要性和基本用法。Struts Tiles 作为一种强大的页面布局工具,可以帮助开发者更高效地构建出结构清晰、易于维护的 Web 应用程序。同时,我们也探讨了...

    Struts-Tiles.pdf

    通过本篇文档的学习,我们了解到 Struts Tiles 如何帮助我们更高效地管理大型网站的页面布局。尽管 Tiles 有一定的学习成本,但它所提供的灵活性和可维护性使其成为大型项目中的首选工具。通过比较 Tiles 与 JSP ...

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

    以上就是关于Struts Tiles框架的基础知识,通过深入理解和实践,开发者可以更有效地管理和组织Web应用程序的页面布局,提升开发效率。通过阅读"struts-tiles笔记.txt"和在"workspace"中进行实践,可以进一步掌握这个...

Global site tag (gtag.js) - Google Analytics