爲了配置tiles,作爲TIles框架的入口TilesConfigure必須在spring-servlet.xml中配置,打開spring-servlet.xml從WEB-INF的目錄中,添加下面的代碼在
<beans></beans>之間
File: /WebContent/WEB-INF/spring-servlet.xml
<
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
>/WEB-INF/tiles.xml</
value
>
</
list
>
</
property
>
</
bean
>
創建tiles.xml文件在WEB-INF的目錄下,拷貝下面的代碼
File:
WebContent/WEB-INF/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
>
<
definition
name
=
"base.definition"
template
=
"/WEB-INF/jsp/layout.jsp"
>
<
put-attribute
name
=
"title"
value
=
""
/>
<
put-attribute
name
=
"header"
value
=
"/WEB-INF/jsp/header.jsp"
/>
<
put-attribute
name
=
"menu"
value
=
"/WEB-INF/jsp/menu.jsp"
/>
<
put-attribute
name
=
"body"
value
=
""
/>
<
put-attribute
name
=
"footer"
value
=
"/WEB-INF/jsp/footer.jsp"
/>
</
definition
>
<
definition
name
=
"contact"
extends
=
"base.definition"
>
<
put-attribute
name
=
"title"
value
=
"Contact
Manager"
/>
<
put-attribute
name
=
"body"
value
=
"/WEB-INF/jsp/contact.jsp"
/>
</
definition
>
</
tiles-definitions
>
定義了新的contact,我們已經重寫了默認的佈局,改變了網頁題和標題的內容
我們定義了一個模版爲我們的應用程序,叫做layout.jsp的jsp文件,這個模版包含了不同的網頁的部分,(header,footer,Menu),創建四個頁面
layout.jsp,header.jsp,menu.jsp,footer.jsp拷貝下面的內容爲每個頁面。
File:
WebContent/WEB-INF/jsp/layout.jsp
<%@
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
><
tiles:insertAttribute
name
=
"title"
ignore
=
"true"
/></
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
>
File:
WebContent/WEB-INF/jsp/header.jsp
<
h1
>Header</
h1
>
File:
WebContent/WEB-INF/jsp/menu.jsp
<
p
>Menu</
p
>
File:
WebContent/WEB-INF/jsp/footer.jsp
<
p
>Copyright
© ViralPatel.net</
p
>