溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Tapestry函數(shù)執(zhí)行順序是怎么樣的

發(fā)布時(shí)間:2021-12-01 16:22:12 來源:億速云 閱讀:114 作者:小新 欄目:編程語言

這篇文章主要介紹Tapestry函數(shù)執(zhí)行順序是怎么樣的,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1、protected void finishLoad() {}

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

2、public void pageValidate(PageEvent event) {}

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

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

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

4、public void pageBeginRender(PageEvent event) {}

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

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

6、public void submit()

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

7、protected void prepareForRender(IRequestCycle cycle) {}

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

8、public void pageEndRender(PageEvent event) {}

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

以上是“Tapestry函數(shù)執(zhí)行順序是怎么樣的”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI