首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts Tiles 框架 学习 运用

2012-09-01 
Struts Tiles 框架 学习 使用Tiles框架为创建Web页面提供了一个模板机制,将网页的布局和内容分开。Tiles框

Struts Tiles 框架 学习 使用
  Tiles框架为创建Web页面提供了一个模板机制,将网页的布局和内容分开。

  Tiles框架具有如下特性:
。创建可重用的模板
。动态创建和装载页面
。定义可重用的Tiles组件
。支持国际化

  Tiles框架包含内容:
。Tiles标签库
。Tiles组件的配置文件
。TilesPlugIn插件


实例:index.jsp和product.jsp网页

第一步:在专门的xml文件中配置Tiles组件

tiles-defs.xml

  <?xml version="1.0" encoding="ISO-8859-1" ?>
  <!DOCTYPE tiles-definitions PUBLIC "-Apache Software Fondation//DTD Tiles Configurtion 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>

第二步:在Struts配置文件中配置TilesPlugin插件

<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>

第三步:使用Tiles插件

在index.jsp和product.jsp中插入Tiles组件

index.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert definition="index-definition" />

product.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<tiles:insert definition="product-definition" />

通过Struts Action来调用Tiles组件

<action-mapping>
   <action path="/index"
   type="org.apache.struts.actions.ForwardAction"
   parameter="index-definition">
   </action>

   <action path="/index"
   type="com.travelsky.thub.hotelbe.hotel.query.action.RecommendHotelQueryAction">
<forward name="default" path="index-definition"></forward>
   </action>
</acton-mapping>



  1.相同的部分写到公共文件中,修改时只需修改公共文件,所有引用的地方都会发生改变。

  2.采用Tiles模板机制,模板中包含了网页共同的布局,如果布局发生了变化,只需要修改模板文件,无需修改具体的网页文件。

  3.一个模板可以被多个web页面共用,Tiles组件可以实现多重组合。


热点排行