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. MyEcplise中关于部署文件不成功的问题

    MyEclipse 点击 部署 按钮 无效   正常情况下,当我们点击MyEclipse任务栏上的部署按钮时,会弹出项目部署框,如下图:     但我们有时也会遇到点击部署按钮怎么也弹不出项目部署框的 ...

  2. OpenStack 密码注入

    现状 实例可以创建,可以使用vnc,可以ssh,但是就是密码要使用默认tima123,要修改密码必须进入虚拟机.实际场景中如果用户将密码修改后忘记,需要重置密码则我们作为管理员也没有办法.这在实际需求 ...

  3. 清除Cookie、获取指定Cookie的值、添加一个Cookie(24小时过期)、添加一个Cookie

    MXS&Vincene  ─╄OvЁ  &0000007 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...

  4. nginx 反向代理 和lvs负载均衡

    nginx反向代理:用户请求nginx代理服务器然后代理服务器将用户请求转为服务器再由nginx代理服务器将服务器的响应反应给用户. lvs负载均衡:用户请求nginx代理服务器然后代理服务器将用户请 ...

  5. python实现指定目录下批量文件的单词计数:串行版本

    直接上代码. 练习目标: 1.  使用 Python 面向对象的方法封装逻辑和表达 : 2.  使用异常处理和日志API : 3.  使用文件目录读写API : 4.  使用 list, map, t ...

  6. iOS原生JSON解析.

    - (IBAction)accessInterfaceBtnPressed:(id)sender {        NSError *error;    NSString *URL=@"ht ...

  7. Spring+Mybatis+jQuery.Pagination.js异步分页及JsonConfig的使用

    在开发工作中经常用到异步分页,这里简单整理一下资料. 一.Controller方法 package com.lwj.controller; import javax.servlet.http.Http ...

  8. 表数据文件DBF的读取和写入操作

    import sys import csv import struct import datetime import decimal import itertools from cStringIO i ...

  9. Dynamics AX 2012 R2 切换环境后项目导入报错

        Reinhard重装了服务器.重装后,导入项目A报错,错误提示如下: A table, Extended Data Type, Base Enum or class called ???? a ...

  10. js原型 prototype

    js中只有构造函数(所有函数)拥有prototype属性对象