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

Tapestry函數(shù)執(zhí)行順序淺析

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

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

1、protected void finishLoad() {}

在Tapestry函數(shù)執(zhí)行順序中,這個函數(shù)***執(zhí)行,它只在頁面池中,沒有某一個頁面類、需要生成一個新的頁面對象時才調(diào)用。這里就有一個陷阱:如果tomcat啟動時使用了-Dorg.apache.Tapestry.disable-caching=true(為了調(diào)試方便而設(shè)),那么每次刷新頁面時,它都會執(zhí)行(因為每個request都會新生成一個頁面類對象),造成了它總是執(zhí)行的假象。在實際的部署時,會使用false,則這個函數(shù)執(zhí)行的機會很少。初始化的代碼放在4 pageBeginRender()中。

2、public void pageValidate(PageEvent event) {}

如果實現(xiàn)了PageValidateListener接口,則可以在這里進行驗證,比如訪問權(quán)限等。

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

如果實現(xiàn)了IExternalPage接口,則可以從這里取得由外面?zhèn)鬟^來的參數(shù),賦給頁面類。

4、public void pageBeginRender(PageEvent event) {}

這里可以進行一些初始化操作。但是這時從客戶端傳過來的參數(shù)還沒有被賦值(如果有提交了表單的話)。

5、Tapestry函數(shù)執(zhí)行順序,如果有表單提交,在這里將會取出那些值,賦給對應(yīng)的字段。換句話說,如果有表單提交,則將form中的各字段的值賦給頁面類。(注意:只是將表單中有的值賦過來)

6、public void submit()

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

7、protected void prepareForRender(IRequestCycle cycle) {}

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

8、public void pageEndRender(PageEvent event) {}

***才執(zhí)行這個方法。

 

【編輯推薦】

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

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函數(shù)

2021-03-29 15:32:31

Python函數(shù)參數(shù)

2025-03-19 10:26:12

Python參數(shù)開發(fā)

2009-07-31 14:03:21

C# Format函數(shù)

2009-08-10 14:43:03

C#函數(shù)Convert

2021-03-03 10:00:52

Python函數(shù)Python基礎(chǔ)

2009-07-31 16:00:30

C#函數(shù)重載

2022-01-21 08:50:15

Promise任務(wù)隊列前端

2012-05-16 13:45:24

Java構(gòu)造器

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函數(shù)式編程

2009-07-31 15:44:02

C#靜態(tài)構(gòu)造函數(shù)

2009-08-14 09:15:28

C#調(diào)用構(gòu)造函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区二区精品 | 亚洲成人免费观看 | 国产一级在线 | 欧美一级高清片 | 久久精品亚洲精品国产欧美 | 国产精品视频一区二区三区四区国 | 欧美久久久久久 | 最新中文字幕在线 | jizz在线看片| 欧美国产日韩精品 | 欧美久久精品一级c片 | 麻豆av一区二区三区久久 | 二区视频| 国产精品久久久久av | 久久精彩 | 亚洲成人一区 | 99亚洲精品 | 日本大香伊一区二区三区 | 成人国内精品久久久久一区 | 亚洲免费在线观看av | 久久久精品亚洲 | 久久99精品久久久 | 亚洲精品一区在线 | 日本久久一区 | 日本二区在线观看 | 色婷婷亚洲一区二区三区 | 69视频在线播放 | 欧美一区二区 | 97精品视频在线 | 久久99精品久久 | 亚洲综合婷婷 | 久久久成人一区二区免费影院 | 日韩在线精品强乱中文字幕 | 91精品国产一区二区 | 欧美国产日韩一区二区三区 | 中文字幕国产第一页 | 日韩欧美在线视频观看 | 一区二区三区在线免费观看 | 久草免费在线视频 | 古典武侠第一页久久777 | 亚洲国产精品99久久久久久久久 |