`
summerkai
  • 浏览: 93408 次
  • 性别: Icon_minigender_2
  • 来自: 农村
社区版块
存档分类
最新评论

Tapestry的函数执行顺序[转]

阅读更多

1、protected void finishLoad() {}

    这个函数最先执行,它只在页面池中,没有某一个页面类、需要生成一个新的页面对象时才调用。这里就有一个陷阱:如果tomcat启动时使用了-Dorg.apache.tapestry.disable-caching=true(为了调试方便而设),那么每次刷新页面时,它都会执行(因为每个request都会新生成一个页面类对象),造成了它总是执行的假象。在实际的部署时,会使用false,则这个函数执行的机会很少。初始化的代码放在4 pageBeginRender()中。

    2、public void pageValidate(PageEvent event) {}

    如果实现了PageValidateListener接口,则可以在这里进行验证,比如访问权限等。

    3、public void activateExternalPage(Object[] parameters, IRequestCycle cycle) {}

    如果实现了IExternalPage接口,则可以从这里取得由外面传过来的参数,赋给页面类。

    4、public void pageBeginRender(PageEvent event) {}

    这里可以进行一些初始化操作。但是这时从客户端传过来的参数还没有被赋值(如果有提交了表单的话)。

    5、如果有表单提交,在这里将会取出那些值,赋给对应的字段。换句话说,如果有表单提交,则将form中的各字段的值赋给页面类。(注意:只是将表单中有的值赋过来)

    6、public void submit()

    如果有表单提交的话,在这里将进行对应的操作,即表单提交等用到的listenter:调用的方法。因为此时各字段已经取好值了,所以可以拿来直接用。

    7、protected void prepareForRender(IRequestCycle cycle) {}

    可以在其中进行为了在页面上显示数据而进行的操作,比如取得什么对象,因为这里页面类的属性赋值已经结束,可以直接拿来使用了。

    8、public void pageEndRender(PageEvent event) {}

    最后才执行这个方法。

分享到:
评论

相关推荐

    Tapestry4开发指南

    【Tapestry4开发指南】 Tapestry4是一款基于Java的Web应用框架,它的前身是Tapestry3.1。该框架的创始人Howard不仅开发了Tapestry,还同时创建了轻量级的Hivemind框架。Tapestry3.1在设计初期即在Hivemind框架下...

    Tapestry简单入门.rar_java Tapestry_tapestry

    接下来,我们转向"tapestry组件.docx",组件是Tapestry的核心组成部分,它们是可重用的、自包含的代码单元,可以处理用户交互、展示数据或执行业务逻辑。组件可以是简单的HTML元素,也可以是复杂的UI部件。组件的...

    tapestry官方中文文档

    Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它强调了组件化、模块化和可重用性,使得开发复杂的Web应用变得更加简单。本文将深入介绍Tapestry 4的相关知识点。 1. **组件化编程**: ...

    tapestry源码 api等

    5. **Tapestry-ioc-junit**: 这是Tapestry与JUnit测试框架的集成,用于编写和执行单元测试。通过这些类,我们可以了解如何编写针对Tapestry服务和组件的测试用例。 6. **Tapestry-ioc-test**: 提供了Tapestry IoC的...

    tapestry3开发指南,带tapestry3所有jar包

    3. **请求处理**:当用户发送HTTP请求时,Tapestry会解析URL,确定要调用的页面和方法,然后执行相应的业务逻辑并生成响应。 **三、Tapestry 3 的关键特性** 1. **状态管理**:Tapestry 3自动管理组件的状态,支持...

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...

    tapestry学习入门资料

    "tapestry学习入门资料" Tapestry 是一个开源的基于 servlet 的应用程序框架,它使用组件对象模型来创建动态的、交互的 web 应用。 Tapestry 使得 Java 代码与 HTML 完全分离,利用这个框架开发大型应用变得...

    apache-tapestry-5.3.8-bin.zip

    9. **Tapestry Func**:`tapestry-func-5.3.8.jar`可能包含了Tapestry提供的函数库,提供了一些实用的函数,方便开发者在Tapestry应用中使用。 10. **Tapestry JPA (Java Persistence API)**:`tapestry-jpa-5.3.8....

    tapestry5.2.6 jar包

    Tapestry 5.2.6 是一个成熟的Java Web开发框架,它提供了一种高效、模块化和可扩展的方式来构建动态、数据驱动的Web应用程序。这个框架的核心理念是将用户界面与业务逻辑分离,通过组件化的思想实现页面的构建,从而...

    Tapestry通用WEB框架

    Tapestry是一个强大的Java Web应用程序框架,由Apache软件基金会维护。它旨在提高开发效率,提供高度模块化和可重用的组件,以及优秀的错误处理和调试能力。在深入探讨Tapestry的知识点之前,让我们先了解一下这个...

    apache-tapestry-5.3.7-bin.zip

    `tapestry-func-5.3.7.jar`提供了函数式编程的支持,使得Tapestry的应用代码更加简洁和优雅,尤其是在处理列表、映射等集合类型的数据时。 `tapestry-jpa-5.3.7.jar`和`tapestry-hibernate-5.3.7.jar`则与持久层...

    tapestry5以上的帮助事例,帮助文档与spring衔接文档

    Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...

    Tapestry4.1.2 入门-介绍

    【Tapestry4.1.2 入门-介绍】 Tapestry 是一个基于Java的Web应用程序框架,它提供了一种面向组件的开发方式,极大地简化了Web应用的构建过程。在Tapestry中,开发者无需关注HTTP请求的处理细节,如链接、请求流向和...

    tapestry5中文文档

    Apache Tapestry 5 是一个基于Java的Web应用开发框架,其设计目的是为了简化Web应用程序的构建,提供组件化的页面构建、输入验证、本地化、状态管理和URL映射等功能。Tapestry 5 强调易用性,不仅对终端用户友好,...

    Tapestry 5 電子書

    《Tapestry 5 電子書》是关于Java Web开发框架Tapestry 5的一本详尽指南,由Packt Publishing在2007年出版。这本书旨在帮助开发者深入理解和掌握Tapestry 5的各个方面,从而利用其强大功能构建高效、可维护的Web应用...

    Tapestry5.0.16_API文档

    Tapestry5.0.16文档和大家一起学习

    tapestry-project-4.1.5

    每个组件都有自己的生命周期,可以接收属性、执行服务方法,并能与其他组件通信。依赖注入允许开发者解耦组件之间的关系,通过配置文件或注解实现对象的创建和管理。而类型安全事件模型使得组件间通信更加规范,避免...

    Tapestry API

    **Tapestry API 深度解析** Tapestry,作为一个强大的MVC(Model-View-Controller)结合模板技术的Web开发框架,为Java开发者提供了一种高效且灵活的构建Web应用程序的方式。它通过组件化的设计,使得代码更加模块...

    tapestry 实例

    **Tapestry 实例详解** Tapestry 是一个开源的Java Web 应用程序框架,由Apache软件基金会维护。它采用组件化的方式构建Web应用,提供了丰富的功能和强大的性能优化,使得开发人员能够更加专注于业务逻辑,而不是...

Global site tag (gtag.js) - Google Analytics