一、HTML视图解析器:
三、tiles视图解析器:很多时候有一些通用的元素被页面所共享,所以可以通过tiles布局管理器来实现共享。
5、controller:
二、jsp视图解析器:
springmvc-servlet.xml配置:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/" />
<property name="suffix" value=".jsp" />
三、tiles视图解析器:很多时候有一些通用的元素被页面所共享,所以可以通过tiles布局管理器来实现共享。
1、在springmvc-servlet.xml将TilesViewResolver注册为一个<bean>
<bean class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"/>
2、TilesConfigurer:
<bean class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/views/**/tiles.xml</value>
</list>
</property>
</bean>
3、tiles.xml(名字任取)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
<definition name="template" template="/WEB-INF/views/template.jsp">
<put-attribute name="title" value="/WEB-INF/views/title.jsp"/>
<put-attribute name="header" value="/WEB-INF/views/header.jsp"/>
<put-attribute name="menu" value="/WEB-INF/views/menu.jsp"/>
<put-attribute name="body" value="/WEB-INF/views/body.jsp"/>
<put-attribute name="footer" value="/WEB-INF/views/footer.jsp"/>
</definition>
<definition name="home" extends="template">
<put-attribute name="content" value="/WEB-INF/views/home.jsp"/>
</definition>
</tiles-definitions>
以上例子中,contrller返回的逻辑视图可以与template或者home匹配
4、template.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>template模版</title>
</head>
<body>
<table border="1" cellpadding="2" cellspacing="2" align="center">
<tr>
<td height="30" colspan="2"><tiles:insertAttribute name="header" />
</td>
</tr>
<tr>
<td height="250"><tiles:insertAttribute name="menu" /></td>
<td width="350"><tiles:insertAttribute name="body" /></td>
</tr>
<tr>
<td height="30" colspan="2"><tiles:insertAttribute name="footer" />
</td>
</tr>
</table>
</body>
</html>
5、controller:
package com.dw.controller;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller("tilesController")
@Scope("prototype")
public class TilesController{
@RequestMapping("/tilesController/template")
public String template(){
return "template";
}
@RequestMapping("/tilesController/home")
public String home(){
return "home";
}
}
实现效果:
所需jar包: