1.假设Spring相关的包和配置已经导入成功(后续有时间补上,本项目用的是3.2.0版本)。

2.导入Tiles相关的jar包。

  tiles-api-2.2.2.jar

  tiles-core-2.2.2.jar

  tiles-jsp-2.2.2.jar

  tiles-servlet-2.2.2.jar

  tiles-template-2.2.2.jar

3.在servlet.xml中增加Spring和Tiles的整合以及Tiles的配置。

    <bean class="org.springframework.web.servlet.view.tiles2.TilesViewResolver" >
<property name="order" value="0" />
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/pbx-views/tiles.xml</value>
</list>
</property>
</bean>

4.定义网站的模版(style.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<div>
<table>
<tr>
<td colspan="2">
<tiles:insertAttribute name="logo"/>
</td>
</tr>
<tr>
<td colspan="2">
<tiles:insertAttribute name="menu"/>
</td>
</tr>
<tr>
<td>
<tiles:insertAttribute name="body"/>
</td>
<td>
<tiles:insertAttribute name="advers"/>
</td>
</tr>
<tr>
<td colspan="2">
<tiles:insertAttribute name="footer"/>
</td>
</tr>
</table>
</div>
</body>
</html>

5.关联页面模版和Tiles(tiles.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> <tiles-definitions>
<!-- layout for index of MYCOLLEGE -->
<definition name="baseLayout" template="/WEB-INF/pbx-views/frame/style1.jsp">
<put-attribute name="logo" value="/WEB-INF/pbx-views/frame/logo.jsp"/>
<put-attribute name="menu" value="/WEB-INF/pbx-views/frame/menu.jsp"/>
<put-attribute name="body" value="/WEB-INF/pbx-views/frame/body.jsp"/>
<put-attribute name="advers" value="/WEB-INF/pbx-views/frame/advers.jsp"/>
<put-attribute name="footer" value="/WEB-INF/pbx-views/frame/footer.jsp"/>
</definition> <definition name="*" extends="baseLayout">
<put-attribute name="body" value="/WEB-INF/pbx-views/{1}.jsp"/>
</definition> </tiles-definitions>

PS:此处用了*适配页面定位。

6.然后就可以在controller中方便的映射了。

@Controller
public class IndexController {
@RequestMapping(value = "/index")
public String index() {
//your service action
return "home";
}
}

7.流程梳理。

7.1  index请求被Spring分发到IndexController;

7.2  IndexController进行相关的业务处理后,返回字符串home;

7.3  字符串home被TilesViewResolver解析后,返回一个

由logo.jsp/menu.jsp/home.jsp/advers.jsp/footer.jsp组成的一个组合页面。

8. tiles 3.0

tiles 3.0的jar包拆分的很细致。

和Spring 4.2.5关联需要的包如下:

 tiles-core
tiles-api
tiles-jsp
tiles-request-api
tiles-request-servlet
commons-digester
7 commons-beanutils
8 tiles-autotag-core-runtime
9 tiles-request-jsp
10 tiles-request-api
11 tiles-template

Spring整合Tiles的更多相关文章

  1. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  2. SpringMVC整合Tiles框架

    SpringMVC整合Tiles框架 Tiles组件 tiles-iconfig.xml Tiles是一个JSP布局框架. Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离 ...

  3. 使用Spring整合Quartz轻松完成定时任务

    一.背景 上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等. 二.开发环境及必 ...

  4. 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】

    一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有 ...

  5. spring整合hibernate的详细步骤

    Spring整合hibernate需要整合些什么? 由IOC容器来生成hibernate的sessionFactory. 让hibernate使用spring的声明式事务 整合步骤: 加入hibern ...

  6. Spring整合Ehcache管理缓存

    前言 Ehcache 是一个成熟的缓存框架,你可以直接使用它来管理你的缓存. Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直接提供缓存功能的实现.它 ...

  7. spring整合hibernate

    spring整合hibernate包括三部分:hibernate的配置.hibernate核心对象交给spring管理.事务由AOP控制 好处: 由java代码进行配置,摆脱硬编码,连接数据库等信息更 ...

  8. MyBatis学习(四)MyBatis和Spring整合

    MyBatis和Spring整合 思路 1.让spring管理SqlSessionFactory 2.让spring管理mapper对象和dao. 使用spring和mybatis整合开发mapper ...

  9. Mybatis与Spring整合,使用了maven管理项目,作为初学者觉得不错,转载下来

    转载自:http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype ...

随机推荐

  1. 使用JWPlayer在网页中嵌入视频

    首发:个人博客,持续更新和纠错 我一直以为在网页中嵌入视频是件复杂的事,一研究才知道原来非常简单. 实际就是在页面中嵌入个控件.社区里已有很多解决方案了.jwplayer是最受欢迎的(之一).控件包括 ...

  2. Date() 及其 如何验证用户输入的日期是合法的

    1.var someDate = new Date(Date.parse("May 25, 2004"));   <=>  var someDate = new Dat ...

  3. python使用装饰器捕获异常

    可以编写一个通用的捕获异常的装饰器, 当程序发生异常时可以继续执行后续动作. 尤其适合于使用大量断言的验证性程序. 装饰器的实现原理使用了回调技术. 如下所示, robust 是一个装饰器. 当在普通 ...

  4. EL表达式简介

    EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据. ...

  5. 【python cookbook】【数据结构与算法】2 从任意长度的可迭代对象中分解元素

    从某个可迭代对象中分解出N个元素,但是可迭代对象的长度可能超过N,会出现“分解值过多”的异常: 使用“*表达式”来解决该问题: Python 3.4.3 (v3.4.3:9b73f1c3e601, F ...

  6. 161012、JAVA读写文件,如何避免中文乱码

    1.JAVA读取文件,避免中文乱码. /** * 读取文件内容 * * @param filePathAndName * String 如 c:\\1.txt 绝对路径 * @return boole ...

  7. Creater中选择一行的方法

    1.  在表布局中增加一单选钮列,给单选钮的属性name任意设定一个值.2.  选择单选钮对应列,将其selectID设为单选钮的ID;将onclick设为setTimeout('initAllRow ...

  8. Add baidu map in your website (wordpress)

    手动挡 访问应用(AK)Key http://lbsyun.baidu.com/apiconsole/key Basic Map Generator http://api.map.baidu.com/ ...

  9. mysql-5.5.28源码安装过程中错误总结

    介绍一下关于mysql-5.5.28源码安装过程中几大错误总结,希望此文章对各位同学有所帮助.系统centOS 6.3 mini (没有任何编译环境)预编译环境首先装了众所周知的 cmake(yum ...

  10. Shell之while循环

    While循环的格式: while expression do command command ... done 1.计数器控制的while循环:主要用于已经准确知道要输入的数据和字符串的数目. 例子 ...