Visit对象与Global对象是Tapestry框架的对象容器,我们可以在Visit对象和Global对象中存放任意信息。Visit对象和Global对象的区别在于他们的生命周期不同。
Visit对象
Visit对象是一个Tapestry应用程序的对象容器,用来存储应用程序逻辑和数据。这个对象能被应用程序中所有的页面和组件共享,并且包含Web应用程序中某一个客户端的特殊信息。该对象类似于HttpSession在典型Servlet应用程序中扮演的角色。实际上,Visit对象最终作为一个HttpSession的属性被存储。
为了在应用程序中使用一些与Session相关的数据,Tapes ...
页面类和页面事件
Tapestry框架是基于事件触发机制。当满足某些事件的触发条件时,Tapestry就会触发事件所对应的页面类中的方法。
页面类
Tapestry框架的思想是面向组件编程,因此页面也是一种特殊的组件。作为组件,它拥有一个规范文件,一个HTML模板,一个页面类和若干嵌入的组件。页面没有调用参数,因为页面是整个组件层次的最外层。页面与组件的差别在于他们的规范文件不同。
为了能够让Tapestry框架实例化页面实例,需要指定一个Java类作为页面类。通常可以在页面规范中指定页面类的路径,通过页面规范<page-specification>标签的class属性,例如:
...
监听方法
Tapestry框架属于事件触发机制,监听方法是我们在客户端触发服务器端Tapestry框架的主要方式。监听方法有多种形式,当表单form被触发提交的时候,或者当一个链接被单击的时候,就会触发监听方法。监听方法存在于我们的页面类或组件类中,例如,DirctLink组件和Form组件都拥有一个监听参数,我们可以使用一个”listener”字符串将我们页面类中的监听方法绑定在组件的监听参数上。
监听方法其实就是一个普通的功用非抽象方法,它可能携带有参数,也可能返回某种类型的值。Tapestry框架并不强制要求监听方法必须携带参数或必须拥有返回值,一个普通的功用方法一旦与某个组件的监听参数 ...
在Tapestry框架运行时,通过反射机制生成一个继承于我们页面类的子类,根据页面规范或组件规范中声明的属性,向这个反射生成的子类中添加标准的JavaBean属性,这就是属性指定的运作过程。在页面规范中声明的数据称为页面属性;在组件规范中声明的属性成为组件属性。其实,不论页面属性还是组件属性,他们都以完全一样的方式进行声明和使用。将Tapestry属性分为页面属性和组件属性,只不过为了方便称呼。
例如,在登录页面Home,为了拥有一个用户名和密码的输入值载体,我们在页面规范Home.page中声明两个页面属性。
<property name=”username”/>
<prope ...
Tapestry属性生命周期
Tapestry属性可能拥有持久化状态,在各个请求周期之间保存用户指定的Tapestry属性。当应用程序的某一部分请求一个页面时候,将会获得一个页面实例和用户先前存入持久化页面属性中的值。如果这个页面中调用的组件包含有持久化的组件属性,那么请求也将获得持久化组件属性的值。
页面实例不是session持久化。他们仅仅在第一次创建的时候存在于JavaVM的内存中。页面和组件不需要实现java.io.serializable接口,他们永远不会被序列化。而应用程序引擎对象总是不停地创建页面的新实例,并重新对页面赋予其先前被记录的状态。页面的状态也就是指页面所拥有的Tap ...
3. Tapestry 的面向组件开发方式
Tapestry面向组件的开发方式是传统开发方式的变革。什么是面向组件呢?这就像搭积木一样。Tapestry将一个应用程序分成很多个页面,而一个页面又是由若干组件组成的,我们不需要去关心任何Servlet细节,也不需要关心如何生成URL和URL的结构,Tapestry会为我们自动生成合适的URL跳转叶面或者传递参数。
在Tapestry框架中,页面有HTML模板,页面规范和页面类组成,而组件由HTML模板,组件规范和组件类组成。叶面的HTML模板和组件的HTML模板都是在原始的HTML静态页面中嵌入少量的jwcid属性标 ...
1. 什么是面向组件开发方式
Tapestry最大的特点是其颠覆性的开发方式。所谓颠覆,是指Tapestry的开发方式不光与传统的开发方式截然不同,而且还是在逐渐取代传统的开发方式。在web表现层框架中有两大开发方式,一种是传统的面向元素开发方式,这种开发方式也是最早出现的开发方式。绝大多数框架都是使用面向元素开发方式,比如 Structs,WebWork,SpringMVC等。在面向组件开发方式出现的原因正是为了弥补面向元素开发方式中种种不足之处。因此,我们可以认为面向组件的开发方式比面向元素的开发方式更加先进。目前,面向组件的Web表现层框架有三种:Tapestry ...
终于,完成了论文,完成了答辩,完成了大学生活。没有了整日的书声墨香,没有了整日的欢声笑语,曾经的一切仿佛都在山水画中度过,轻轻描描,星星点点,俯笔青山绿水,扬笔青天浮云。静,静,静。怎一个静字了得,才下眉头却上心头。
曾忆起,书生稚气。曾忆起,鸿鹄之志。曾忆起,依依佳人。蓦然回首,都已化作青山中的翠柏。印证着留下的青春的足迹。这一刻,没有了风,翠柏不再随风轻摆,没有了雨,那油油的绿叶也只能留在最后的记忆。
我寻着这曾经,走过的无数次的幽静小路,迎着丁香花陶醉的芳香,数着路旁站立 ...
- 浏览: 23553 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
DAO设计模式笔记
发错了,把那下面我的那个回复,删除吧,不好意思,
-- by cmm -
DAO设计模式笔记
[/color][size=small][/size][align=righ ...
-- by cmm -
DAO设计模式笔记
今日看了兄台的http://lincoln.javaeye.com/blog/3 ...
-- by barryzhong -
DAO设计模式笔记
受益匪浅啊!谢谢!
-- by barryzhong -
Tapestry学习笔记(4)
讲得很详细,很清楚,但本人有一疑问:literal是干什么用?
-- by llzgmz






评论排行榜