Tapestry3 学习笔记(一) 配置文件介绍

来源:互联网 发布:时代网络投诉电话 编辑:程序博客网 时间:2024/05/16 18:26

1, 配置文件的简单介绍
       总体说来,Tapestry项目中,有6种配置文件:web.xml文件,application文件,library文件,Engine文件(对象),Global文件(对象)和Visit文件(对象)。

这6种中,只有web.xml文件和application文件是必须。
      在Tapestry框架中,每一个页面被分割为三个部分:html模板,page规范和页面java文件。

1) web.xml文件
      每一个web项目都有一个web.xml文件,Tapestry项目的web.xml文件,其实并没有太特别之处:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"    "http://java.sun.com/dtd/web-app_2_3.dtd"><!-- generated by Spindle, http://spindle.sourceforge.net --><web-app>    <display-name>MyTapestry</display-name>    <filter>        <filter-name>redirect</filter-name>        <filter-class>org.apache.tapestry.RedirectFilter</filter-class>    </filter>    <servlet>        <servlet-name>MyTapestry</servlet-name>        <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>MyTapestry</servlet-name>        <url-pattern>/app</url-pattern>    </servlet-mapping></web-app>这些都是固定的配置,如果希望对session有效时间进行设置,可以添加:    <session-config>        <session-timeout>60</session-timeout>    </session-config>

2) application文件
      application文件是指以项目名称为文件名,以application为后缀的文件,例如:MyTapestry.application。
      application文件放在WEB-INF目录下,该文件定义了整个Tapestry项目的所有文件映射。
      例如在MyTapestry.application文件中:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE application    PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN"    "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd"><!-- generated by Spindle, http://spindle.sourceforge.net --><application name="MyTapestry" engine-class="com.tapestry.MyEngine" >    <description><![CDATA[ My first Tapestry project ]]></description>    <property name="org.apache.tapestry.template-encoding" value="GBK"/>    <property name="org.apache.tapestry.output-encoding" value="GBK"/>    <property name="org.apache.tapestry.visit-class">com.tapestry.Visit</property>    <property name="org.apache.tapestry.global-class">com.tapestry.Global</property>    <page name="Home" specification-path="Home.page"/></application>

        我们实现了如下功能:

第一, application文件定义了Engine对象的映射路径:    <application name="MyTapestry" engine-class="com.tapestry.MyEngine" >第二, application文件定义了模板编码和输出编码:    <property name="org.apache.tapestry.template-encoding" value="GBK"/>    <property name="org.apache.tapestry.output-encoding" value="GBK"/>第三, application文件定义了Visit对象和Global对象的映射路径:    <property name="org.apache.tapestry.visit-class">com.tapestry.Visit</property>    <property name="org.apache.tapestry.global-class">com.tapestry.Global</property>第四, application文件定义了页面html模板与page规范之间的映射路径:    <page name="Home" specification-path="Home.page"/>    <page name="FirstPage" specification-path="FirstPage.page"/>    <page name="SecondPage" specification-path="SecondPage.page"/>第五, application文件定义了组件jwc模板与page规范之间的映射路径:    <component-type type="Border" specification-path="Border.jwc"/>第六, application文件定义了组件包的调用路径:    <library id="contrib" specification-path="/org/apache/tapestry/contrib/Contrib.library"/>

3) Engine文件(对象)
       Engine对象,是指继承于BaseEngine.java的文件。Engine对象是Tapestry的底层对象,是Tapestry框架的核心部分。
4) Global文件(对象)
       Global对象是指在application文件中声明的java文件,Global对象实际上就是普通web应用程序中的application对象。
5) Visit文件(对象)
       Visit对象是指在application文件中声明的java文件,通常实现序列化接口。Visit对象实际上就是普通web应用程序中的session对象。

6) library文件
       library文件很像application文件,用于定义自定义组件的jwc模板到page文件之间的映射。这种映射关系也可以定义在application文件中。如果希望将自己开发的组件打包,那么就会用到以library为后缀的文件。
7) html模板(jwc模板)
       html模板与jwc模板实际上是一样的,均是HTML静态页面,相比于普通的静态HTML页面,仅仅是在Tapestry的html模板和jwc模板中嵌入了一个jwcid属性。因此,Tapestry对美工的干涉非常小。html模板是指页面的静态HTML页面,而jwc是指组件的静态HTML页面。
8) page规范
       page规范是一个XML文件,page文件是html模板与页面(组件)java文件的纽带。对于组件使用的各种参数声明,我们可以放在html模板中,也可以放在page规范中。

9) 页面java文件(组件java文件)
       页面java文件继承于BasePage类,而组件java文件继承于BaseComponent类。页面(组件)java文件均是abstract类。在Tapestry应用程序实际运行时,Tapestry会自动提供一个supclass继承于这个页面(组件)java文件来实现其中页面(组件)逻辑。


 

0 0
原创粉丝点击