新聞中心
一、頁(yè)面和組件

在學(xué)習(xí)Tapestry的過(guò)程中,頁(yè)面和組件十個(gè)重要的知識(shí)點(diǎn)。Tapestry頁(yè)面和大部分自定義組件擁有一個(gè)模板,一個(gè)定義了組件靜態(tài)和動(dòng)態(tài)部分的專(zhuān)門(mén)的HTML文件(頁(yè)面和自定義組件包含.html文件和.page文件)
創(chuàng)建者指示嵌入的組件哪是激活的.(在.html文件的標(biāo)簽中使用jwcid來(lái)應(yīng)用.page文件中聲明的響應(yīng)部分)
組件不必有模板,大部分組件給Tapestry提供生成代碼當(dāng)中的響應(yīng)部分,而不是用模板(標(biāo)準(zhǔn)組件沒(méi)有.html文件,只需要在.html文件中使用即可)
二、引擎,服務(wù)和朋友
引擎(Engine)是一個(gè)中心對(duì)象,學(xué)習(xí)Tapestry過(guò)程中,對(duì)引擎的理解很重要。通過(guò)存貯Engine到HttpSession中完成,引擎最終負(fù)責(zé)存儲(chǔ)應(yīng)用程序的持久化狀態(tài).(保存一個(gè)會(huì)話中的應(yīng)用程序的持久化信息)
引擎服務(wù)負(fù)責(zé)對(duì)URLs編碼,提供準(zhǔn)確的傳遞給框架的查詢參數(shù)以及精確的生成當(dāng)URL被觸發(fā)后應(yīng)該執(zhí)行的操作.
訪問(wèn)對(duì)象(visit object)一個(gè)應(yīng)用級(jí)別的對(duì)象,最終持久的存儲(chǔ)在HttpSession當(dāng)中(類(lèi)似于session)
全局對(duì)象(global object)一個(gè)應(yīng)用級(jí)別的對(duì)象,存儲(chǔ)全局的信息(類(lèi)似于application)
三、模板定位
一個(gè)頁(yè)面的HTML模板就是一個(gè)簡(jiǎn)單的HTML文件,一個(gè)頁(yè)面包括一個(gè)根目錄下的.html文件的HTML模板,一個(gè)WEB-INF目錄下的.page文件的頁(yè)面說(shuō)明書(shū)文件,一個(gè)Java包中的類(lèi)文件。
學(xué)習(xí)Tapestry過(guò)程中需要理解Tapstry搜索頁(yè)面的HTML模板過(guò)程:
◆首先知道頁(yè)面的名稱和頁(yè)面說(shuō)明書(shū)(.page)的位置
◆搜索說(shuō)明書(shū)(.page)所在的位置
◆搜索web應(yīng)用程序的上下文的根目錄
四、模板內(nèi)容
組件能夠被放置在模板里的任何地方,只需要為任何現(xiàn)有的標(biāo)簽加上jwcid屬性,模板包含組件的兩種方法:
◆聲明組件:組件的類(lèi)型定義在頁(yè)面說(shuō)明書(shū)里
◆隱藏組件:定義在模板里(Tapestry內(nèi)置組件和自定義組件),要在組件類(lèi)型前加上"@"符號(hào)
配置默認(rèn)的屬性名稱(jwcid) org.apache.tapestry.jwcid-attribute-name
application文件中加入
五、組件的主要部分
一個(gè)組件的主要部分是模板文件中標(biāo)簽里嵌套的部分.
六、組件ID
學(xué)習(xí)Tapestry要知道每個(gè)組件在模板中只能出現(xiàn)一次,但可以通過(guò)copy-of屬性來(lái)創(chuàng)建有新id的克隆組件.
七、指定參數(shù)
組件可以有正式和非正式兩種參數(shù).正式參數(shù)使用
模板參數(shù)通常被轉(zhuǎn)成字符串值,做為輸出內(nèi)容里額外的屬性.一個(gè)特殊的情況,當(dāng)非正式參數(shù)的值是一個(gè)IAsset,屬性的值將做為URL.
八、正式參數(shù)和非正式參數(shù)
非正式參數(shù)可使用"ognl:"和"message:"前綴
組件使用
九、地方化
Hello
Hello
raw="true" 阻止過(guò)濾,如 "<" 不要擴(kuò)展成 "<"
十、$remove$ jwcid
具有這個(gè)jwcid的標(biāo)簽就不再是一個(gè)組件了,它會(huì)從模板文件里被去掉,注:被移除的塊里不允許再包含其他組件了。
John Doe Frank Smith Jane Jones
以上是筆者對(duì)自己學(xué)習(xí)Tapestry經(jīng)驗(yàn)的一個(gè)總結(jié);通過(guò)這十個(gè)關(guān)鍵點(diǎn)的學(xué)習(xí),基本上可以使用Tapestry開(kāi)發(fā)實(shí)際的項(xiàng)目了。
【編輯推薦】
- Tapestry函數(shù)執(zhí)行順序淺析
- Tapestry 5輸入驗(yàn)證的實(shí)現(xiàn)方法
- JSP開(kāi)發(fā)框架JSF對(duì)比基于Servlet的Tapestry
- Tapestry 5組件事件詳解
- Tapestry5的性能改進(jìn)淺析
網(wǎng)站名稱:學(xué)習(xí)Tapestry的十個(gè)關(guān)鍵點(diǎn)
本文路徑:http://m.5511xx.com/article/dpihppe.html


咨詢
建站咨詢
