成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學習Tapestry的十個關鍵點

開發 后端
本文向您介紹學習Tapestry的十個關鍵點,包括頁面和組件、引擎、模版定位等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" 阻止過濾,如 "<" 不要擴展成 "&lt"

十、$remove$ jwcid

具有這個jwcid的標簽就不再是一個組件了,它會從模板文件里被去掉,注:被移除的塊里不允許再包含其他組件了。

  1. <tr jwcid="loop"> 
  2.  <td><span jwcid="insertFirstName">John</span></td> 
  3.  <td><span jwcid="insertLastName">Doe</span></td> 
  4. </tr> 
  5. <tr jwcid="$remove$"> 
  6.  <td>Frank</td> 
  7.  <td>Smith</td> 
  8. </tr> 
  9. <tr jwcid="$remove$"> 
  10.  <td>Jane</td> 
  11.  <td>Jones</td> 
  12. </tr> 

以上是筆者對自己學習Tapestry經驗的一個總結;通過這十個關鍵點的學習,基本上可以使用Tapestry開發實際的項目了。

【編輯推薦】

  1. Tapestry函數執行順序淺析
  2. Tapestry 5輸入驗證的實現方法
  3. JSP開發框架JSF對比基于Servlet的Tapestry
  4. Tapestry 5組件事件詳解
  5. Tapestry5的性能改進淺析

 

責任編輯:佚名 來源: 百度空間
相關推薦

2024-11-01 08:00:00

2019-02-01 10:05:33

開源游戲開發游戲引擎

2024-10-16 12:51:56

2025-04-01 08:25:00

OSPF網絡IT

2021-08-09 08:00:00

深度學習人工智能機器學習

2023-10-29 17:12:26

Python編程

2024-05-21 12:18:57

Python代碼重構

2024-05-21 11:14:20

Python編程

2024-02-04 17:21:37

C++編程開發

2023-06-16 10:59:34

2010-09-17 13:49:09

2023-12-25 10:53:54

機器學習模型性能

2024-11-11 08:00:00

PyTorch深度學習

2023-03-02 00:04:59

機器學習系統架構

2023-09-21 16:01:26

數字化轉型數據管理

2022-12-22 14:47:50

數據治理數字化轉型

2024-04-19 13:21:55

2010-03-09 17:30:08

Linux新手知識點

2023-04-19 19:05:08

機器學習零售業

2015-06-15 14:14:47

架構/企業架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久网站 | 91精品久久久久久久久99蜜臂 | 五月激情综合 | 久久久久九九九九 | 污视频在线免费观看 | 亚洲 中文 欧美 日韩 在线观看 | 中文成人无字幕乱码精品 | 免费观看一级特黄欧美大片 | 亚洲视频网 | 在线一区视频 | 日韩美女爱爱 | 成年人在线观看视频 | 久久区二区 | 国产精产国品一二三产区视频 | 国产午夜三级一区二区三 | 91精品国产美女在线观看 | 91精品一区二区三区久久久久 | 中文字幕国产精品 | 毛片免费在线 | 爽爽免费视频 | 免费成人午夜 | 欧美韩一区二区三区 | 国产网站在线播放 | 草久久久 | 一区二区手机在线 | 国产精品96久久久久久 | 日日操夜夜摸 | 国产1区在线 | 日韩欧美国产精品 | 午夜播放器在线观看 | 国产精品美女久久久 | 亚洲欧洲日韩精品 中文字幕 | 成人在线电影在线观看 | 午夜影院在线观看 | 中文字幕在线免费视频 | 久久久精彩视频 | 亚洲视频中文字幕 | 久久久精品国产 | 国产一伦一伦一伦 | 羞羞涩涩在线观看 | 亚洲高清成人 |