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

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文件来实现其中页面(组件)逻辑。


 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页