日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Tapestry函數(shù)執(zhí)行順序淺析

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

1、protected void finishLoad() {}

在Tapestry函數(shù)執(zhí)行順序中,這個(gè)函數(shù)***執(zhí)行,它只在頁(yè)面池中,沒(méi)有某一個(gè)頁(yè)面類、需要生成一個(gè)新的頁(yè)面對(duì)象時(shí)才調(diào)用。這里就有一個(gè)陷阱:如果tomcat啟動(dòng)時(shí)使用了-Dorg.apache.Tapestry.disable-caching=true(為了調(diào)試方便而設(shè)),那么每次刷新頁(yè)面時(shí),它都會(huì)執(zhí)行(因?yàn)槊總€(gè)request都會(huì)新生成一個(gè)頁(yè)面類對(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)證,比如訪問(wèn)權(quán)限等。

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

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

4、public void pageBeginRender(PageEvent event) {}

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

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

6、public void submit()

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

7、protected void prepareForRender(IRequestCycle cycle) {}

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

8、public void pageEndRender(PageEvent event) {}

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


標(biāo)題名稱:Tapestry函數(shù)執(zhí)行順序淺析
文章路徑:http://www.dlmjj.cn/article/dpcjjjs.html