您好,登錄后才能下訂單哦!
本篇內容介紹了“學習Tapestry的關鍵點有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、頁面和組件
在學習Tapestry的過程中,頁面和組件十個重要的知識點。Tapestry頁面和大部分自定義組件擁有一個模板,一個定義了組件靜態和動態部分的專門的HTML文件(頁面和自定義組件包含.html文件和.page文件)
創建者指示嵌入的組件哪是激活的.(在.html文件的標簽中使用jwcid來應用.page文件中聲明的響應部分)
組件不必有模板,大部分組件給Tapestry提供生成代碼當中的響應部分,而不是用模板(標準組件沒有.html文件,只需要在.html文件中使用即可)
二、引擎,服務和朋友
引擎(Engine)是一個中心對象,學習Tapestry過程中,對引擎的理解很重要。通過存貯Engine到HttpSession中完成,引擎最終負責存儲應用程序的持久化狀態.(保存一個會話中的應用程序的持久化信息)
引擎服務負責對URLs編碼,提供準確的傳遞給框架的查詢參數以及精確的生成當URL被觸發后應該執行的操作.
訪問對象(visit object)一個應用級別的對象,最終持久的存儲在HttpSession當中(類似于session)
全局對象(global object)一個應用級別的對象,存儲全局的信息(類似于application)
三、模板定位
一個頁面的HTML模板就是一個簡單的HTML文件,一個頁面包括一個根目錄下的.html文件的HTML模板,一個WEB-INF目錄下的.page文件的頁面說明書文件,一個Java包中的類文件。
學習Tapestry過程中需要理解Tapstry搜索頁面的HTML模板過程:
◆首先知道頁面的名稱和頁面說明書(.page)的位置
◆搜索說明書(.page)所在的位置
◆搜索web應用程序的上下文的根目錄
四、模板內容
組件能夠被放置在模板里的任何地方,只需要為任何現有的標簽加上jwcid屬性,模板包含組件的兩種方法:
◆聲明組件:組件的類型定義在頁面說明書里
◆隱藏組件:定義在模板里(Tapestry內置組件和自定義組件),要在組件類型前加上"@"符號
配置默認的屬性名稱(jwcid) org.apache.tapestry.jwcid-attribute-name
application文件中加入
<meta key="org.apache.tapestry.jwcid-attribute-name" value="newjwc"/>
五、組件的主要部分
一個組件的主要部分是模板文件中標簽里嵌套的部分.
六、組件ID
學習Tapestry要知道每個組件在模板中只能出現一次,但可以通過copy-of屬性來創建有新id的克隆組件.
七、指定參數
組件可以有正式和非正式兩種參數.正式參數使用<parameter>元素定義,并使用<component-specification>元素的allow-informal-parameters屬性指示它是否接受或拒絕非正式的參數.非正式參數默認為字符串值,除非他們有綁定前綴.
模板參數通常被轉成字符串值,做為輸出內容里額外的屬性.一個特殊的情況,當非正式參數的值是一個IAsset,屬性的值將做為URL.
八、正式參數和非正式參數
非正式參數可使用"ognl:"和"message:"前綴
組件使用<reserved-parameter>元素來聲明它的保留名稱,這些保留名稱不允許使用非正式參數,因為組件不想讓非正式參數去覆蓋它的值,并會自己產生這些命名屬性.
九、地方化
<span jwcid="@Insert" value="message:hello">Hello</span>
<span key="hello">Hello</span>
raw="true" 阻止過濾,如 "<" 不要擴展成 "<"
十、$remove$ jwcid
具有這個jwcid的標簽就不再是一個組件了,它會從模板文件里被去掉,注:被移除的塊里不允許再包含其他組件了。
<tr jwcid="loop"> <td><span jwcid="insertFirstName">John</span></td> <td><span jwcid="insertLastName">Doe</span></td> </tr> <tr jwcid="$remove$"> <td>Frank</td> <td>Smith</td> </tr> <tr jwcid="$remove$"> <td>Jane</td> <td>Jones</td> </tr>
“學習Tapestry的關鍵點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。