Tapestry5之Methods
但凡想学Tapestry5的都必须要过一关,就是N多的貌似自定义的,但绝对不是的方法。
今儿了个,就把自己的理解放到这里,以备不虞。
1. onActivate()
这个方法比较奇怪,不能通过注解来定义一个任意方法名的方法,所以我们只能记住这个方法名。
还有这种方法:@OnEvent(value = EventConstants.ACTIVATE)
If your page has an onActivate method then Tapestry will call it when a request from a browser involves your page.
如果我们的java类中有一个onActivate方法,那么每次进入我们页面的时候,这个方法都会被调用。
这个方法可以重载,据我所知,几乎所有重载的方法都会被执行,除非参数的个数不对。并且不带参数的方法总是最后执行。
2.setupRender()
这个方法和onActivate方法不同,它可以通过注解@SetupRender来使任意一个方法名的方法具有其功能。
If your page has a setupRender method then Tapestry will call it right before it starts rendering.
如果java中有一个setupRender方法,那么Tapestry就会在开始渲染(render)页面之前执行这个方法。
3.cleanupRender()
这个方法和setupRender具有一定的相似性。
If your page has a cleanupRender method then Tapestry will call it right after all the rendering has been done.
如果java总有一个cleanupRender方法,那么Tapestry就会在所有的渲染都完成之后执行这个方法。所以这个方法,基本上就是用来处理一些后续任务。不会对页面造成任何影响。
其实在2和3之间还有很多个阶段呢,只不过目前本人没有接触。
4.@PageLoaded
这个方法比较奇怪,它是一个只会被初始化一次的方法。也就是说它是受服务器管理的。只要服务器知道了,这个方法已经被执行过了。它就不会再第二次执行了。
5.onPassivate()
这个方法和onActivate有些关系。他俩共同构成了一个从server端获得信息的机制。
onActivate方法是用来获得url中的参数的。而onPassivate是用来设置url中的参数的。