引言:
一个jsp页面引发的思想,做web程序的工程师都会知道。web页面可以说很简单,也可以说他很复杂。有的网站做出来的页面很时尚,有的页面却很普通。
但这些页面里面有着一个共同的物点,他们的每一个页面之间都会有许多公同的部分,如果以一个普通的门户网站来看的话,大致可以看到这样的构造。
这里面页面可以大致分为:Header、Menu、Body、Footer,而我们都知道,正常页面的变化关键在于Body这个区域。但如何来管理这些变化和不变化的区域呢?使我们能更好的去控制这些页面的内容呢?看到这里面有很多人就会想到说那么可以用<jsp:include>这样的标签来引入页面了丫。
想想,如果用这样的方式的话,你的改变只在于减少了重复的去想部分的代码,但当你用多了之后,你可能都记不清,你在哪里用到Jsp:include了,这给你的修改和维护带来了很大的麻烦。
一、何为Tiles2
Tiles2即为复合式视图模式(Composite View pattern), 可以对页面的各个部分通过配置文件来管理。
二、Tiles2的快速入门
1、引入jar包
相关jar可以到官网上下载(http://tiles.apache.org/download.html)
如何使用maven的话,可以更加方便的在POM里面直接添加的。
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
<!-- 添加 standard包 -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.6.1</version>
</dependency>
2、配置文件
a、 创建一个配置文件/WEB-INF/tiles-defs.xml。
b、 web.xml设置监听以在启动服务的时候读取配置文件。
<context-param>
<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
<param-value>/WEB-INF/tiles-defs.xml</param-value>
</context-param>
<listener>
<listener-class>org.apache.tiles.web.startup.TilesListener</listener-class>
</listener>
3、创建jsp页面结构
+webapp
+views
-header.jsp
-body.jsp
-footer.jsp
+layout
-mainLayout.jsp
-index.jsp
header.jsp
//header.jsp
<html>
<body>
<div align="center"><b><i>This is a header</i></b></div>
</body>
</html>
body.jsp
<html>
<body>
<h3>Hello World!,this is the Body</h3>
</body>
</html>
footer.jsp
<html>
<body>
<div align="center"><b><i>This is a footer</i></b></div>
</body>
</html>
layout.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><tiles:getAsString name="title" /></title>
</head>
<body>
<table border="0" width="950" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td> <tiles:insertAttribute name="header" /> </td>
</tr>
<tr>
<td><tiles:insertAttribute name="footer" /></td>
</tr>
</table>
</body>
</html>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertDefinition name="layout" />
配置进tomcat服务器中
运行inde.jsp页面。可以看到运行成功的页面了。
Tiles2的基本结构就是如此了。
END;
分享到:
相关推荐
Struts2的核心特性之一是拦截器,它允许开发者定义一系列的处理逻辑,这些逻辑会在Action执行前后被调用。拦截器可以用来实现如日志记录、权限验证、事务管理等功能。通过自定义拦截器,开发者能够灵活地扩展框架...
Interceptor是Struts2的核心特性之一,它们按预定义的顺序执行,可以处理各种任务,如日志、权限检查和数据验证等。Struts2的`ValidatorInterceptor`负责执行验证逻辑,它会根据配置文件中的规则对请求参数进行检查...
在Struts框架中,Action类是核心组件之一,它是业务逻辑的执行者。每个HTTP请求都会映射到一个特定的Action,处理请求并返回相应的结果。ActionForm是用于传递请求参数到Action的载体,它可以封装用户的输入数据。 ...
这些学习笔记涵盖了多个重要的IT技术领域,主要针对高级程序员,旨在深入理解和掌握各种编程语言、框架和数据库管理系统。以下是对每个主题的详细说明: 1. **C++**:C++是一种中级语言,由C语言发展而来,支持面向...
"Struts学习笔记"显然是一个针对Struts框架深入学习的资料集合,旨在帮助初学者从基础开始,逐步掌握Struts的核心概念和实践技巧。 在学习Struts的过程中,有几个关键知识点是必须理解的: 1. **MVC模式**:MVC是...
Struts 1.x 是最早的MVC框架之一,它简化了JSP与Servlet之间的交互。`struts1.x入门[修订版].doc`可能涵盖了以下几个方面: 1. **ActionServlet**:作为Struts的核心,处理HTTP请求并调用相应的Action。 2. **配置...
本资料包包含了关于Struts2的学习笔记和代码示例,旨在帮助初学者或进阶者深入理解并熟练掌握这一框架。 笔记部分可能涵盖以下知识点: 1. **Struts2基础**:介绍Struts2的基本概念,包括Action、Result、...
Struts1.x note.txt**:Struts1是最早的Java Web MVC框架之一,笔记可能讲解Action、Form Bean、配置文件、Interceptor、Tiles组件等核心概念。 9. **16. EJB note.txt**:EJB(Enterprise JavaBeans)是Java EE中...
Spring是Java领域最流行的轻量级框架之一,它提供了一个全面的编程和配置模型,用于简化企业级应用的开发。Spring的核心是依赖注入(Dependency Injection, DI),它允许组件之间的松耦合,提高了代码的可测试性...
Struts框架的亮点之一是其强大的标签库,这使得在JSP页面上操作业务数据变得简单。通过笔记,你可以学习到如何使用`<s:property>`、`<s:form>`、`<s:iterator>`等标签来显示、收集和处理用户输入,以及如何自定义...
在学习过程中,可以结合“jQuery.txt”文件来理解前端与后端如何协同工作,尽管jQuery不是三大框架之一,但它在Web开发中的作用不可忽视,尤其是在处理DOM操作、AJAX请求等方面。 总结来说,这个笔记集合将带领读者...
- "struts笔记.pdf":这是一份个人学习笔记,可能包含了一些实践经验和技巧,有助于你快速上手和解决问题。 通过这些资源,你将能够逐步掌握Struts框架,从创建简单的Action到构建复杂的MVC应用,从而在Java Web...
磁贴(Tiles)虽不是Windows 7的特色,但它的前身——“超级按钮”(Super Bar)在Windows 7中起到了类似的作用,集成了开始按钮、搜索框和常用程序,使得桌面空间利用更为高效。 安全性是操作系统的重要考量,...