struts title 使用
1.先建一個layout.jsp布局頁面
******
<tr>
<td height="113" colspan="2" scope="col">
<tiles:insert attribute="top"/>
</td>
</tr>
<tr>
<td width="21%" height="409" scope="row">
<tiles:insert attribute="left"/>
</td>
<td width="79%" height="409" scope="row">
<tiles:insert attribute="main"/>
</td>
</tr>
*******
2.建立一個tiles-defs.xml檔案,並在其中做相應的配置。
*********
<?xml version="1.0" encoding="UTF-8"?>
<!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="member-definition" path="/Jsp/layout.jsp">
<put name="top" value="/mTop.do"/>
<put name="left" value="/mLeft.do"/>
<put name="main" value="/defaultMmain.do"/>
</definition>
</tiles-definitions>
*********
這樣就相當於通過xml檔案定義了一個member.jsp.
3.在web.xml和struts-config.xml和web.xml中做相應配置.
在struts-config.xml中配置如下:
***********
<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>
***********
在web.xml中配置如下:
************
<init-param>
<param-name>definitions-config</param-name>
<param-value>/WEB-INF/tiles-defs.xml</param-value>
</init-param>
************
4.調用Tiles組件
Tiles組件是通過Struts Action來調用的,在struts-config.xml中做如下action配置:
*************
<action path="/member" parameter="member-definition" type="org.apache.struts.actions.ForwardAction"/>
**************
然後可以通過訪問/member.do訪問相當於member.jsp的Tiles組件.
II ---------------------tiles的進階使用--------------------------
1 .tiles組件的嵌套
然後可以通過訪問/member.do訪問相當於member.jsp的Tiles組件.
*************
<tiles-definitions>
<definition name="member-definition" path="/Jsp/layout.jsp">
<put name="top" value="menu-definition" type="definition"/>
<put name="left" value="/mLeft.do"/>
<put name="main" value="/defaultMmain.do"/>
</definition>
************
其中menu-definiton作為一個子tiles組件而單獨配置,這樣就可以把一個個簡單的tiles組件組合成一個複雜的tiles組件。
2.Tiles組件的擴充
Tiles組件的擴充,在有很多tiles組件使用相同的模板頁面layout.jsp的時候,特別有用處,我們先定義一個通用的tiles組件如base-definition,其中組件中相應的地方value設定為空白。
*************
<definition name="base-definition" path="/Jsp/layout.jsp"> <put name="top" value="/mTop.do"/> <put name="left" value="/mLeft.do"/>
<put name="main" value=" "/>
</definition>*************
其它tiles組件可以通過整合它,並把name="main"中的value設定成自己特有的,
如:
**************
<definition name="member-definition" extends="base.definition">
<put name="main" value="/defaultMmain.do "/>
</definition>
******************
<put name="main" value="/defaultMmain.do"/>
</definition>
************
其中menu-definiton作為一個子tiles組件而單獨配置,這樣就可以把一個個簡單的tiles組件組合成一個複雜的tiles組件。
2.Tiles組件的擴充
Tiles組件的擴充,在有很多tiles組件使用相同的模板頁面layout.jsp的時候,特別有用處,我們先定義一個通用的tiles組件如base-definition,其中組件中相應的地方value設定為空白。
*************
<definition name="base-definition" path="/Jsp/layout.jsp"> <put name="top" value="/mTop.do"/> <put name="left" value="/mLeft.do"/>
<put name="main" value=" "/>
</definition>*************
其它tiles組件可以通過整合它,並把name="main"中的value設定成自己特有的,
如:
**************
<definition name="member-definition" extends="base.definition">
<put name="main" value="/defaultMmain.do "/>
</definition>
******************