本人是根据tapestry官方文档和自己的理解而整理出来的。如果有什么不对的地方,请大家批评指正。
根据官方的说法,T5的page页面在第一访问后都放在了一个page pool中作为缓存,以方便其他用户的访问。
页面的生存周期也很简单
第一次访问 页面函数执行顺序如下:
这是Tapestry 实例化当前页面。
1、pageLoaded 在这里可以初始化一些页面公用的参数,这里的变量的值是给所有的请求共享的。
2、pageAttached 把页面附加给当前的请求
3、pagePassivate 这个方法可以传递页面之间的context详见:http://tapestry.apache.org/tapestry5/tapestry-core/guide/pagenav.html
4、pageDetached页面剥离当前请求.
5、pageAttached 把页面附加给当前的请求(这里这个方法执行了两次具体其什么作用,目前还不清楚)
6、pageActivate页面激活函数,这个函数很有用,我们要做的用户验证,初始化一些当前请求需要的参数
7、pagePassivate 这个方法可以传递页面之间的context
8、pageDetached 页面剥离当前请求,放回到page pool.
当其他的用户访问该页面的时候 页面方法 执行顺序和上面的一样,只不过就是缺少了 pageLoaded方法,因为页面在page pool中已经存在可以直接拿过来用,大大提高了页面的执行速度。注意这里是其他的用户请求该页面,不是刷新该页面
根据官方的说法,T5的page页面在第一访问后都放在了一个page pool中作为缓存,以方便其他用户的访问。
页面的生存周期也很简单
第一次访问 页面函数执行顺序如下:
这是Tapestry 实例化当前页面。
1、pageLoaded 在这里可以初始化一些页面公用的参数,这里的变量的值是给所有的请求共享的。
2、pageAttached 把页面附加给当前的请求
3、pagePassivate 这个方法可以传递页面之间的context详见:http://tapestry.apache.org/tapestry5/tapestry-core/guide/pagenav.html
4、pageDetached页面剥离当前请求.
5、pageAttached 把页面附加给当前的请求(这里这个方法执行了两次具体其什么作用,目前还不清楚)
6、pageActivate页面激活函数,这个函数很有用,我们要做的用户验证,初始化一些当前请求需要的参数
7、pagePassivate 这个方法可以传递页面之间的context
8、pageDetached 页面剥离当前请求,放回到page pool.
当其他的用户访问该页面的时候 页面方法 执行顺序和上面的一样,只不过就是缺少了 pageLoaded方法,因为页面在page pool中已经存在可以直接拿过来用,大大提高了页面的执行速度。注意这里是其他的用户请求该页面,不是刷新该页面