使用Tiles框架的搭建方式。Tiles组件的配置与使用。
[@more@]1. 1.Tiles框架包含以下内容:Tiles标签库、Tiles组件的配置文件、TilesPlugIn插件
2. 2. 在JSP页面中标签和JSP include指令具有相同功能:
作用是相同的 true表示在插入操作之前,先调用当前页面的输入流的flush()方法。
3. 3. 使用tiles标签库:
1) 1). 类包:struts.jar、commons-digester.jar、commons-beanutils.jar、commons-collections.jar、commons-logging.jar。
2) 2).加入struts-tiles.tld文件。 在web文件中配置元素如:
/WEB-INF/struts-tiles.tld
/WEB-INF/struts-tiles.tld
3) 3).在专门的XML文件中配置Ttile组件(如:tiles-defs.xml),这个文件位于WEB-INF目录下。
<definition name="common" path="/WEB-INF/pages/template.jsp">
<put name="menuTitle" value="${menuTitle}" />
<put name="workflow" value="${workflow}" />
<put name="header" value="header.jsp" />
<put name="breadcrumbs" value="breadcrumbs.jsp" />
<put name="graphics" value="${graphics}" />
definition>
<definition name="net.tiles.yun" extends="common">
<put name="menuTitle" value="yunchat welcome you here" />
<put name="graphics" value="yun graphics" />
<put name="message" value="tiles.msg.001" />
<put name="workflow" value="tt workflow" />
<put name="breadcrumbs" value="breadcrumbs.jsp" />
<put name="header" value="header.jsp" />
definition>
4) 4).在Struts配置文件中配置TilesPlugin插件
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<!-- Path to XML definition file -->
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml,/WEB-INF/tiles-defs-yun.xml" />
<!-- Set Module-awareness to true -->
<set-property property="moduleAware" value="true" />
property="definition-paser-validate"
value="true" />
plug-in>
definition-paser-validate参数:指定XML解析器是否验证Tiles配置文件。默认true;
5) 5).在web.xml文件中配置ActionServlet
为保证Web应用启动时加载TilesPlugin插件,应加入ActionServlet控制器,ActionServlet控制器在初始化时能加载所有的插件。
6) 6). 在JSP文件中插入Tiles组件,使用Tiles的组件属性。
4. 4. 在struts action中可以直接调用Tiles组件。
<action-mappings>
<action path="/tiles_action" scope="requests"
type="TilesAction" validate="true">
<forward name="success" path="net.tiles.yun"
redirect="false" />
action>
<action path="/tiles_action2" type="TilesAction" parameter="net.tiles.yun">
action>
action-mappings>
5. 5.Tiles组件的组合:
<definition name="common" path="/WEB-INF/pages/template.jsp">
<put name="menuTitle" value="tiles-definition" type="definition" />
......
definition>
子元素的value属性指定被包含的Tiles组件的名字。Type属性设置为”definition”,表示value属性指定的是Tiles组件,而不是JSP文件。
6. 6. Tiles组件的扩展:
<definition name="common" extends="base-definition">
extends属性指定被扩展的父类Tiles组件。
7. 7.Tiles在JSP页面的使用:
(1)插入到JSP页面中:
page="/layouts/commonLayout.jsp" flush="true" />
(2)插入一个Tiles同时传递属性值:
<tiles:insert attribute="header">
<tiles:put name="menuTitle" beanName="menuTitle"/>
<tiles:put name="graphics" beanName="graphics"/>
tiles:insert>
<tiles:insert attribute="breadcrumbs">
<tiles:put name="workflow" beanName="workflow" />
<tiles:put name="message" beanName="message" />
<tiles:put name="graphics" beanName="graphics" />
tiles:insert>
(3)作为String来得到一个属性
<tiles:getAsString name=" title ">
(4)通过引用属性来插入Tiles
<tiles:insert attribute="header">
疑惑:Tiles中常使用 或
这样的作用都是什么? 不理解。 也请知道的朋友告诉我。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/118026/viewspace-804974/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/118026/viewspace-804974/