sturts.jar,commons-digester.jar,commons-beanutils.jar,commons-collections.jar,commons-logging.jar
2.配置
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
3.
1)采用Tilesmoban
布局:<tiles:insert attribute="sidebar"/>
<tiles:insert attribute="header"/>
<tiles:insert attribute="content"/>
<tiles:insert attribute="footer"/>
应用:index.jsp
<tiles:insert page="layout.jsp" flush="true">
<tiles:put name="sidebar" value="sidebar.jsp"/>
<tiles:put name="header" value="header.jsp"/>
<tiles:put name="content" value="indexContent.jsp"/>
<tiles:put name="footer" value="footer.jsp"/>
</tiles:insert>
2)采用Tiles模版和Tiles组件
首先,在XML文件中配置Tiles组件。命名为tiles-defs.xml
<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>
name:Tiles组件名字,path:使用的模版,put:向模版中插入的具体网页内容
其次,在Struts配置文件中配置Tiles插件
<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>
definitions-config:制定Tiles组件的配置文件,多个用逗号隔开
definitions-parser-validate:制定XML是否验证Tiles配置文件
然后,在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>3</load-on-startup>
</servlet>
最后,在应用界面中插入Tiles组件。
<tiles:insert definition="index-definition"/>
PS:如果一个Tiles组件代表一个完整的网页,则可以用Struts Action来调用Tiles组件,则不必创建index.jsp,体现了Struts负责流程控制的功能。
<action-mappings>
<action path="/index"
type="org.apache.struts.actions.ForwardAction"
parameter="index-definition">
</action>
</action-mappings>
3)组件的组合:
把index-definition组件的左边部分拆分为独立组件sidebar-definition
<definition name="sidebar-definition"
path="/sidebar-layout.jsp">
<put name="top" value="flags.jsp"/>
<put name="bottom" value="sidebar-links.jsp"/>
</definition>
在index-deifinition中使用:
<definition name="index-definition" path="/layout.jsp">
<put name="sidebar" value="sidebar-definition" type="definition"/>
<put name="header" value="header.jsp"/>
<put name="content" value="indexContent.jsp"/>
<put name="footer" value="footer.jsp"/>
</definition>
value:包含的Tiles组件的名称。type:definition表示value属性指定的是一个Tiles组件而不是jsp文件