Tile模板和Tile组件创建复合式网页
一:创建步骤:
(1):安装需要的jar包(略)
(2):在web.xml中配置<taglib>标签,注册struts-tiles.tld文件(略)
(3):建立专门的xml文件来配置Tiles组件,例如tiles-defs.xml,该文件位于WEB-INF目录,内容如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="index-definition" path="/layout.jsp">
<put name="sidebar" value="sidebar.jsp" />
<put name="header" value="header.jsp" />
<put name="content" value="indexContent.jsp" />
<put name="footer" value="footer.jsp" />
</definition>
<definition name="product-definition" path="/layout.jsp">
<put name="sidebar" value="sidebar.jsp" />
<put name="header" value="header.jsp" />
<put name="content" value="productContent.jsp" />
<put name="footer" value="footer.jsp" />
</definition>
</tiles-definitions>
该文件配置了两个Tile组件,为index-definition和product-definition,他们对应的模板都是layout.jsp
name对应模板中的attribute属性,value是要插入的jsp网页
(4):在struts-confgi.xml中配置TilePlugin插件,内容如下:
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="definitions-parser-validate" value="true" />
</plug-in>
value="/WEB-INF/tiles-defs.xml"即对应自定义的配置Tiles组件的xml文件
(5):在web.xml中配置ActionServlet,内容如下
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
这是struts基本配置,不同tiles只要要用struts就要这样配置
二:调用的方式
(1):在jsp页面中插入Tiles组件
先引入标签,语句是:<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
插入Tile组件,语句是:<tiles:insert definition="product-definition"/>
(2):用Struts Action调用Tiles组件
在struts-config.xml中配置Action映射,内容如下:
<action-mappings>
<action path="/index" parameter="index-definition"
type="org.apache.struts.actions.ForwardAction" />
<action path="/product" parameter="product-definition"
type="org.apache.struts.actions.ForwardAction" />
</action-mappings>
该语句定义了两个Tiles组件,path属性对应调用路径,parameter属性对应Tiles组件名称,
如parameter="index-definition"和tiles-defs.xml中的<definition name="index-definition"&lgt;对应