Tapestry 5 Training Course 中文学习笔记一

来源:互联网 发布:日本动漫 知乎 编辑:程序博客网 时间:2024/05/18 05:05

 概述

T5的构成

T5由一下模块构成:

       Tapestry-ioc T5的开发基础,

       Tapestry-core T5web开发框架(使用 Tapestry-ioc

       Tapestry-annotation :用于开发T5应用程序的Annotation

       Tapestry-upload T5上传使用的子项目。由Tapestry-core调用

Tapestry-test   T5的单元和功能测试子项目

tapestry-hibernate T5 bibernate集成包

tapestry-spring T5spring集成包

组件(COMPONETS

T5的组件由两部分组成:

       一个java文件

l        POJO 不能继承其他类

l        一个没有参数的构造函数(有其他的就忽略)

l        应用tapestry annotations(定义参数,引用其他组件服务)

l        只有在呈现页面的时候才调用tapestry annotations

一个HTML 模板

l        有效的xml文档包含了大部分的(xhtml元素

l        关联了tapestry命名空间

l        组件的扩展名为“.tml 标识 Tapestry Markup Language

页面(PAGES

页面和组件也结构上是一样的由一个java文件和html模板组成。

页面和组件的实质性差别在

l        他们的命名 页面在pages目录下 组件在components

l        组件没有激活阶段(这里不怎么理解)

页面和组件是建立在相同的机制上,但是为为了不同的目的。

请求处理模式

T5分为两种请求模式:动作(Action 呈现 Rendering

通常情况下是用户有了一个动作后就转向了呈现类型的请求

目标是为了避免用户在使用浏览器时使用 刷新、后退、F5的不方便。有些动作执行了好几次。同时提供了“书签式”的URL格式

可以查看 http://tapestry.apache.org/tapestry5/tapestry-core/guide/pagenav.html

 

细节的区别:

动作(Action

l        在一个某个页面一个给定的组件中产生的事件

l        事件返回值决定将有什么信息返回到客户端(大多数情况是 重转向到呈现类型的请求)

l        例如 login/password  check然后转向应用的主页面

呈现(Rendering

l        执行一个页面生成html页面给客户端

l        页面需要一个激活的上下文(例如页面显示元素的ID

l        例如显示一个产品页

动作(Action)事件管理

 

呈现(Rendering)管理

 

页面的生命周期

T5采用“对象池”来存储和重复调用已经创建的页面/组件实例

通过组件的生命周期使它能在正确的时间执行初始化动作

T5允许我们在组件的生命周期的任何步骤执行动作。通过一下三种方式:

l        @PageLoaded:只有当页面第一次被创建而且是第一和组件关联的时候才调用,是在实例化的时候不能执行处理过程变成可能。例如:注入服务(这里不太懂)

l        @PageAttached:当页面关联到线程上处理我们的请求的时候调用

l        @PageDeTached:当请求处理完成返回到页面池的时候调用

 

生命周期(第一次访问页面)

 

 

 

第二次访问相同的页面

 

 

 

 

 

 

原创粉丝点击