Struts Tiles 框架概述

       Tiles 框架为创建 Web 页面提供了一种模板机制,它能将网页的布局和内容分离。允许先创建模板,然后在运行时动态地将内容插入到模板中。 

   在我们已知的创建符合式网页的方法中,包括:

  采用基本的JSP语句创建符合式网页。这种方法会导致JSP代码的大量冗余,后果是重复编码、多处修改,大大增加开发和维护成本。

  采用JSP的include指令创建符合式网页。和第一种方案相比,尽管采用JSP的include指令创建的复合式网页减少了重复代码,但不能完全避免代码冗余。同时JSP文件的数量增加了,使软件的复杂度也增加了。

  采用标签创建符合式网页。这种方法和JSP的include指令拥有相同的功能,同时也有着相同的利弊。

  采用Tiles模板创建符合式网页。Tiles模板是一种描述页面布局的JSP页面,Tiles模板只定义了Web页面的样式,而不指定内容。在Web页面运行时,才把特定的内容插入到模板中。使用Tiles模板的步骤是:

  (1) 安装Tiles标签库所需要的文件;

  (2) 定义模板文件,模板文件是指定义了网页布局,但不包含具体网页内容的JSP页面;

  (3) 在页面中运用定义好的Tiles模板,运用Tiles模板是通过标签和子标签来定义的。

  Struts还在Tiles框架中引入了Tiles组件的概念。Tiles组件可以代表一个完整的网页,也可以代表网页的一部分。简单的Tiles组件可以组成复杂的Tiles组件,或被扩展为复杂的Tiles组件。Tiles组件的使用步骤:

  (1) 安装Tiles标签库所需要的文件;

  (2)  定义模板文件,模板文件是指定义了网页布局,但不包含具体网页内容的JSP页面。在模板JSP页面中通过 标签来预留页面将要加载的位置。

  (3) 在专门的XML文件中配置Tiles组件。如下配置一个default-definition组件(其中pageName与标签中的pageName对应):

  

    

      

      ......

    

  

  (4) 在Struts配置文件中配置TilesPlugin插件,代码如下:

  

      

     

  

  TilesPlugin插件用于加载Tiles组件的配置文件,在元素中包含几个子元素,用于向

TilesPlugin插件传入附加的参数:

  definitions-config参数:指定Tiles组件的配置文件。如果有多个配置文件,则它们之间用逗号分隔。

  definitions-parser-validate参数:指定XML解析器是否验证Tiles配置文件,可选值包括true和false,默认值为

true。

  (5) 为保证TilesPlugin插件在Web应用启动时加载,在web.xml文件中配置ActionSerlvet(在MyEclipse中添加Struts支持,会默认配置好ActionServlet)。ActionServlet控制器在初始化时会加载所有插件。

  (6) 最后在需要应用Tiles组件的JSP页面中通过标签,插入Tiles组件。(其中default-definiton对应于(3)中的default-definiton)

  如果Tiles组件是一个完整的网页,还可以直接通过Struts Action来访问Tiles组件。只要如下配置好一个action就可以在页面中访问:

  

      type="org.apache.struts.actions.ForwardAction"

      parameter="definitions-config">

  

  此外,Tiles组件还有两个非常有用的特性:

  Tiles组件的可组合性。Tiles组件作为一种可重用的组件,可以像搭积木一样,把简单的Tiles组件组装成复杂的Tiles组件:

  

    

      

      

    

    

      

    

  

  Tiles组件的可扩展性。Tiles组件可以像Java类一样,被子Tiles组件继承,子Tiles拥有父Tiles组件的所有特性,从而进一步消除代码冗余。

  

    

      

      

      

    

    

      

    

  

 

你可能感兴趣的:(Struts)