集成tiles框架

1.引入jar包


<properties>
<!-- tiles版本号 -->
<tiles.version>2.2.1</tiles.version>
</properties>




<dependency>
<groupId>commons-beanutils</groupId>
   <artifactId>commons-beanutils</artifactId>
   <version>1.9.2</version>
</dependency>
<dependency>
   <groupId>commons-digester</groupId>
   <artifactId>commons-digester</artifactId>
   <version>2.0</version>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-api</artifactId>
   <version>1.7.7</version>
</dependency>
<dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-api</artifactId>
   <version>${tiles.version}</version>
</dependency>
<dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-core</artifactId>
   <version>${tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
   <artifactId>tiles-jsp</artifactId>
   <version>${tiles.version}</version>
</dependency>
<dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-servlet</artifactId>
   <version>${tiles.version}</version>
</dependency>
<dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-template</artifactId>
   <version>${tiles.version}</version>
</dependency>


2.取消之前spirngmvc.xml中配置的试图层


取消:


<!-- 配置试图解析器 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 引入jstl -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"></property>
<!-- 引入试图前缀 -->
<property name="prefix" value="/"></property>
<!-- 引入试图后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>


配置:

<!-- 代替视图解析器配置到SpringMvc中 集成tiles -->
<!-- 页面布局 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles2.TilesView
</value>
</property>
</bean>


<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<!-- 引入外部的页面布局文件 -->
<value>classpath:views.xml</value>
</list>
</property>
</bean>


3.在config下新建views.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>
<!-- 基本布局 -->
<definition name="base.definition" template="/jsp/layout/layout.jsp">
<put-attribute name="title" value="个人学习平台" />
<put-attribute name="header" value="/jsp/layout/template/header.jsp" />
<put-attribute name="sidebar" value="/jsp/layout/template/sidebar.jsp" />
<put-attribute name="content" value="/jsp/layout/template/content.jsp" />
<put-attribute name="footer" value="/jsp/layout/template/footer.jsp" />
</definition>


<!-- 定义测试跳转页面 -->
<definition name="test" extends="base.definition">
<put-attribute name="content" value="test.jsp" />
</definition>


</tiles-definitions> 


4.创建布局的jsp页面
1. 在webapp 下新建 jsp目录及jsp/layout/template 目录


分别新建以下jsp页面
/jsp/layout/layout.jsp --布局声明
/jsp/layout/template/header.jsp --头部
/jsp/layout/template/sidebar.jsp --菜单
/jsp/layout/template/content.jsp --内容
/jsp/layout/template/footer.jsp --底部


2.jsp内容分别如下
1.布局声明


<!-- 引入tiles 标签库 -->
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>


<meta charset="UTF-8" />
<!-- 引入views 中定义好的标题 -->
<title><tiles:insertAttribute name="title" ignore="true" /></title>
</head>
<body>
<table>
<tr> <!--头 -->
<td colspan="2" > <tiles:insertAttribute name="header" /></td>
</tr>
<tr>
<!--左侧菜单 -->
<td><tiles:insertAttribute name="sidebar" /></td>
<!--右侧菜单 -->
<td><tiles:insertAttribute name="content" /></td>
</tr>
<tr>
<!--尾 -->
<td colspan="2" ><tiles:insertAttribute name="footer" /></td>
</tr>
</table> 
</body>
</body>
</html>


2.头部


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<div style="height: 100px; background: red;">
我是头部
</div>


3.菜单


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<div style="height: 500px;width:80px; background: red;">
<a href="testContent.do">我是菜单,点我局部刷新内容</a>
</div>
4.内容


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


<div style="height: 500px;width:500px; background: red;">
我是内容
</div>
5.底部


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<div style="height: 100px; background:yellow;">
我是底部
</div>


5.测试:
新建testController
@Controller
public class TestController {


@RequestMapping("/test.do")
public ModelAndView test(HttpServletRequest request,HttpServletResponse response){

return new ModelAndView("base.definition");//因为加了前后缀,实际跳转layout.jsp 
}
@RequestMapping("/testContent.do")
public ModelAndView testContent(HttpServletRequest request,HttpServletResponse response){


return new ModelAndView("testContent");//因为加了前后缀,实际跳转test.jsp 
}
}


6.新建index.jsp:
<a href="test.do"> 跳转111111111</a>
7.新建test.jsp:
<div style="height: 500px;width:500px; background:white;">
测试tiles成功
</div>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值