您好,登錄后才能下訂單哦!
這篇文章主要介紹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) {}
***才執行這個方法。
以上是“Tapestry函數執行順序是怎么樣的”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。