成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Tapestry函數執行順序淺析

開發 后端
了解Tapestry函數執行順序才能更好的掌握項目的運行狀態;本文向您介紹Tapestry的函數執行順序,包括finishLoad() 、activateExternalPage()函數等。

最開始學Tapestry的時候,覺得“怎么有這么多地方需要持久啊”。原來以前只知道pageBeginRender這個函數,什么初始化操作都放在它里面??墒撬窃谫x值之前執行,所以拿到的字段多都是空的,卻都以為是沒有持久化的緣故。所以在客戶端里放了一大堆的@Hidden,或者session中持久,非常麻煩,對Tapestry也產生的懷疑?,F在才知道那些需要取得客戶端傳來的參數的代碼,***放在prepareForRender里,很多不必要的持久都可以省掉了。 所以漸漸的了解Tapestry函數執行順序,才能更好的來掌控代碼。

1、protected void finishLoad() {}

在Tapestry函數執行順序中,這個函數***執行,它只在頁面池中,沒有某一個頁面類、需要生成一個新的頁面對象時才調用。這里就有一個陷阱:如果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、Tapestry函數執行順序,如果有表單提交,在這里將會取出那些值,賦給對應的字段。換句話說,如果有表單提交,則將form中的各字段的值賦給頁面類。(注意:只是將表單中有的值賦過來)

6、public void submit()

如果有表單提交的話,在這里將進行對應的操作,即表單提交等用到的listenter:調用的方法。因為此時各字段已經取好值了,所以可以拿來直接用。

7、protected void prepareForRender(IRequestCycle cycle) {}

可以在其中進行為了在頁面上顯示數據而進行的操作,比如取得什么對象,因為這里頁面類的屬性賦值已經結束,Tapestry函數執行順序可以直接拿來使用了。

8、public void pageEndRender(PageEvent event) {}

***才執行這個方法。

 

【編輯推薦】

  1. Tapestry 5輸入驗證的實現方法
  2. JSP開發框架JSF對比基于Servlet的Tapestry
  3. Tapestry 5組件事件詳解
  4. Tapestry5的性能改進淺析
  5. Tapestry5新特性詳解
責任編輯:佚名 來源: IT168
相關推薦

2009-06-29 18:04:13

Tapestry5

2009-07-14 14:16:03

Tapestry 5.Tapestry教程Tapestry頁面

2009-06-22 14:22:41

JSF和Tapestr

2009-06-24 16:16:30

JSF和Tapestr

2017-06-08 14:25:46

Kotlin函數

2021-03-29 15:32:31

Python函數參數

2025-03-19 10:26:12

Python參數開發

2009-07-31 14:03:21

C# Format函數

2009-08-10 14:43:03

C#函數Convert

2021-03-03 10:00:52

Python函數Python基礎

2009-07-31 16:00:30

C#函數重載

2022-01-21 08:50:15

Promise任務隊列前端

2012-05-16 13:45:24

Java構造器

2009-06-29 17:42:03

Tapestry5新特

2009-05-13 10:02:37

Tapestry 5.servletApache

2009-07-03 14:28:03

Tapestry 5組

2009-07-03 14:41:29

2016-10-19 14:35:20

JavaScript函數式編程

2009-07-31 15:44:02

C#靜態構造函數

2009-08-14 09:15:28

C#調用構造函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本福利在线 | 免费同性女女aaa免费网站 | 天天操夜夜操 | 亚洲国产成人精品久久 | 欧美一区视频 | 视频一区在线观看 | 亚洲精品第一 | 精品亚洲国产成av人片传媒 | 91麻豆精品一区二区三区 | 久久大陆 | 一区二区三区四区在线视频 | 欧美日韩高清一区二区三区 | 精品一区二区三区在线观看国产 | 亚洲人成一区二区三区性色 | 国产免费a视频 | 国产亚洲www | 国产91丝袜在线播放 | 福利在线观看 | 999re5这里只有精品 | 成人免费视频网站在线观看 | 国产视频亚洲视频 | 91久久久精品国产一区二区蜜臀 | 网站一区二区三区 | 欧美视频在线观看 | 国产日韩精品视频 | 免费国产视频 | 99久久婷婷国产综合精品电影 | 亚洲精品一区二区另类图片 | 午夜在线视频一区二区三区 | 成人在线观看免费视频 | 精品视频亚洲 | 一级a性色生活片久久毛片 午夜精品在线观看 | 亚洲国产成人av好男人在线观看 | 成人不卡在线 | 欧美日韩一区二区三区不卡视频 | 在线欧美一区 | 高清黄色网址 | 日本三级日产三级国产三级 | 欧美a级网站 | 久久久久久国产精品免费免费男同 | 国产精品视频免费看 |