Tapestry 5 Training Course 中文学习笔记一
来源:互联网 发布:日本动漫 知乎 编辑:程序博客网 时间:2024/05/18 05:05
T5的构成
T5由一下模块构成:
Tapestry-ioc :T5的开发基础,
Tapestry-core :T5的web开发框架(使用 Tapestry-ioc)
Tapestry-annotation :用于开发T5应用程序的Annotation
Tapestry-upload : T5上传使用的子项目。由Tapestry-core调用
Tapestry-test : T5的单元和功能测试子项目
tapestry-hibernate : T5 和bibernate集成包
tapestry-spring :T5和spring集成包
组件(COMPONETS)
T5的组件由两部分组成:
一个java文件
l POJO 不能继承其他类
l 一个没有参数的构造函数(有其他的就忽略)
l 应用tapestry annotations(定义参数,引用其他组件服务)
l 只有在呈现页面的时候才调用tapestry annotations
一个HTML 模板
l 有效的xml文档包含了大部分的(x)html元素
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:当请求处理完成返回到页面池的时候调用
生命周期(第一次访问页面)
第二次访问相同的页面
- Tapestry 5 Training Course 中文学习笔记一
- Tapestry 5 Training Course 中文学习笔记二
- Tapestry 5 Training Course 中文学习笔记三
- Tapestry 学习笔记:(一)
- Tapestry学习笔记
- Tapestry学习5
- android-training-course-in-chinese(Android官方中文文档)
- 获取 Tapestry 5 学习资源
- Android Training学习笔记
- tapestry 学习笔记(2)----Using Forms
- Tapestry学习笔记——JVM设置
- Tapestry学习笔记(乱码的解决方法)
- Tapestry学习笔记,3个配置文件
- Tapestry学习
- Tapestry中文文档
- python 学习 training 个人笔记
- Android training课程学习笔记...
- Tapestry学习一 环境搭建及HelloWorld应用
- MemCached Cache Java Client封装优化历程
- 认识自我
- cs0016:未能写入输出文件 解决方法
- IE的MIME嗅探
- VS2003 无法调试asp.net的解决方法
- Tapestry 5 Training Course 中文学习笔记一
- 2009开发手记:为啥不对冰刃做攻防
- mysql更改root密码
- Java Reflection (JAVA反射)详解
- C++进阶小程序(投骰子)
- linux安装.rpm包及rpm命令
- C++进阶小程序(画菱形)
- java从入门到高级的学习全攻略
- Manifest文件实战