Spring整合Tiles
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的更多相关文章
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
- SpringMVC整合Tiles框架
SpringMVC整合Tiles框架 Tiles组件 tiles-iconfig.xml Tiles是一个JSP布局框架. Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离 ...
- 使用Spring整合Quartz轻松完成定时任务
一.背景 上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等. 二.开发环境及必 ...
- 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】
一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有 ...
- spring整合hibernate的详细步骤
Spring整合hibernate需要整合些什么? 由IOC容器来生成hibernate的sessionFactory. 让hibernate使用spring的声明式事务 整合步骤: 加入hibern ...
- Spring整合Ehcache管理缓存
前言 Ehcache 是一个成熟的缓存框架,你可以直接使用它来管理你的缓存. Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直接提供缓存功能的实现.它 ...
- spring整合hibernate
spring整合hibernate包括三部分:hibernate的配置.hibernate核心对象交给spring管理.事务由AOP控制 好处: 由java代码进行配置,摆脱硬编码,连接数据库等信息更 ...
- MyBatis学习(四)MyBatis和Spring整合
MyBatis和Spring整合 思路 1.让spring管理SqlSessionFactory 2.让spring管理mapper对象和dao. 使用spring和mybatis整合开发mapper ...
- Mybatis与Spring整合,使用了maven管理项目,作为初学者觉得不错,转载下来
转载自:http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype ...
随机推荐
- MyEcplise中关于部署文件不成功的问题
MyEclipse 点击 部署 按钮 无效 正常情况下,当我们点击MyEclipse任务栏上的部署按钮时,会弹出项目部署框,如下图: 但我们有时也会遇到点击部署按钮怎么也弹不出项目部署框的 ...
- OpenStack 密码注入
现状 实例可以创建,可以使用vnc,可以ssh,但是就是密码要使用默认tima123,要修改密码必须进入虚拟机.实际场景中如果用户将密码修改后忘记,需要重置密码则我们作为管理员也没有办法.这在实际需求 ...
- 清除Cookie、获取指定Cookie的值、添加一个Cookie(24小时过期)、添加一个Cookie
MXS&Vincene ─╄OvЁ &0000007 ─╄OvЁ MXS&Vincene MXS&Vincene ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...
- nginx 反向代理 和lvs负载均衡
nginx反向代理:用户请求nginx代理服务器然后代理服务器将用户请求转为服务器再由nginx代理服务器将服务器的响应反应给用户. lvs负载均衡:用户请求nginx代理服务器然后代理服务器将用户请 ...
- python实现指定目录下批量文件的单词计数:串行版本
直接上代码. 练习目标: 1. 使用 Python 面向对象的方法封装逻辑和表达 : 2. 使用异常处理和日志API : 3. 使用文件目录读写API : 4. 使用 list, map, t ...
- iOS原生JSON解析.
- (IBAction)accessInterfaceBtnPressed:(id)sender { NSError *error; NSString *URL=@"ht ...
- Spring+Mybatis+jQuery.Pagination.js异步分页及JsonConfig的使用
在开发工作中经常用到异步分页,这里简单整理一下资料. 一.Controller方法 package com.lwj.controller; import javax.servlet.http.Http ...
- 表数据文件DBF的读取和写入操作
import sys import csv import struct import datetime import decimal import itertools from cStringIO i ...
- Dynamics AX 2012 R2 切换环境后项目导入报错
Reinhard重装了服务器.重装后,导入项目A报错,错误提示如下: A table, Extended Data Type, Base Enum or class called ???? a ...
- js原型 prototype
js中只有构造函数(所有函数)拥有prototype属性对象