<%
...
@ taglib uri
=
"
http://jakarta.apache.org/struts/tags-tiles
"
prefix
=
"
tiles
"
%>
<
html
>
<
head
>
<
title
><
tiles:getAsString
name
="title"
/></
title
>
</
head
>
<
body
>
the title is:
<
tiles:getAsString
name
="title"
/><
br
>
<
tiles:insert
name
="header"
/><
br
>
<
tiles:insert
name
="content"
/><
br
>
<
tiles:insert
name
="footer"
/><
br
>
</
body
>
</
html
>
header.content.footer页面如下:
<
html
>
<
head
>
</
head
>
<
body
>
this is from header
</
body
>
</
html
>
<
html
>
<
head
>
</
head
>
<
body
>
this is from content
</
body
>
</
html
>
<
html
>
<
head
>
</
head
>
<
body
>
this is from footer
</
body
>
</
html
>
<!
DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd"
>
<
tiles-definitions
>
<
definition
name
="template"
page
="/tiles/mainTemplate.jsp"
>
<
put
name
="title"
value
="default title"
/>
<
put
name
="header"
value
="="
/tiles/header.jsp"
/>
<
put
name
="content"
value
="/tiles/content.jsp"
/>
<
put
name
="footer"
value
="/tiles/footer.jsp"
/>
</
definition
>
<!--
-以courseDetail命名的配置,覆盖了模板中的title和content对应的页面->
<definition name="courseDetail" extends="template">
<put name="title" value="courseDetail title"/>
<put name="content" value="/tiles/courseContent.jsp"/>
</definition>
</tiles-definitions>
/title/courseContent.jsp
<%
...
@ taglib uri
=
"
http://jakarta.apache.org/struts/tags-tiles
"
prefix
=
"
tiles
"
%>
<
html
>
<
head
>
</
head
>
<
body
>
this is courseContent
</
body
>
</
html
>
spring配置文件:
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
<
bean
id
="simpleUrlMapping"
class
="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
>
<
property
name
="mappings"
>
<
props
>
<
prop
key
="/tiles.mvc"
>
TilesController
</
prop
>
</
props
>
</
property
>
</
bean
>
<
bean
id
="TilesController"
class
="Action.TilesHomeController"
>
</
bean
>
<!--
tiles页面解析器
-->
<
bean
id
="viewResolver"
class
="org.springframework.web.servlet.view.InternalResourceViewResolver"
>
<
property
name
="viewClass"
>
<
value
>
org.springframework.web.servlet.view.tiles.TilesView
</
value
>
</
property
>
</
bean
>
<!--
tiles配置器
-->
<
bean
id
="tilesConfigurer"
class
="org.springframework.web.servlet.view.tiles.TilesConfigurer"
>
<
property
name
="definitions"
>
<
list
>
<
value
>
/WEB-INF/train-def.xml
</
value
>
</
list
>
</
property
>
</
bean
>
</
beans
>
运行/title.mvc (mvc是我自定义的扩展名)我们可以看到如下结果:
courseDetail title
this is from header
this is courseDetail
this is from footer
<!
DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd"
>
<
tiles-definitions
>
<
definition
name
="template"
page
="/tiles/mainTemplate.jsp"
>
<
put
name
="title"
value
="default title"
/>
<
put
name
="header"
value
=".header"
/>
<
put
name
="content"
value
="/tiles/content.jsp"
/>
<
put
name
="footer"
value
="/tiles/footer.jsp"
/>
</
definition
>
<
definition
name
="courseDetail"
extends
="template"
>
<
put
name
="title"
value
="courseDetail title"
/>
<
put
name
="content"
value
="/tiles/courseContent.jsp"
/>
</
definition
>
<
definition
name
=".header"
page
="/tiles/header.jsp"
controllerClass
="Action.HeaderTilesController"
>
</
definition
>
</
tiles-definitions
>