程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> 通過JSF 2實現可重用的Ajax化組件(2)

通過JSF 2實現可重用的Ajax化組件(2)

編輯:J2EE

圖3和圖4顯示了運行中的自動完成字段。在圖3中,在字段中輸入Al之後,國家列表將縮減至使用這兩個字母開頭的名稱:

使用Al開頭的完成項目
圖3.使用Al開頭的完成項目

同樣,圖4顯示了在字段中輸入Bar之後顯示的結果。列表僅顯示以Bar開頭的國家名。

以Bar開頭的完成項目
圖4.以Bar開頭的完成項目

使用自動完成組件

復合組件:基礎如果您不熟悉如何實現JSF2復合組件,那麼您可以從“JSF2簡介,第2部分:模板及復合組件”這篇文章中了解基本知識。

.Locations自動完成字段是一個JSF復合組件,並應用於facelet,如清單1所示:

清單1.facelet

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHtml 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xHtml1-transitional.dtd">
  3. <Html XMLns="http://www.w3.org/1999/xHtml"
  4. XMLns:h="http://Java.sun.com/JSf/Html"
  5. XMLns:util="http://Java.sun.com/JSf/composite/util">
  6. <h:head>
  7. <title>#{msgs.autoCompleteWindowTitle}</title>
  8. </h:head>
  9. <h:body>
  10. <div style="padding: 20px;">
  11. <h:form>
  12. <h:panelGrid columns="2">
  13. #{msgs.locationsPrompt}
  14. <util:autoComplete value="#{user.country}"
  15. completionItems="#{autoComplete.countrIEs}" />
  16. </h:panelGrid>
  17. </h:form>
  18. </div>
  19. </h:body>
  20. </Html>

清單1中的facelet通過聲明適當的名稱空間—util—以及借助組件的相關標記(<util:autoComplete>)來使用autoComplete復合組件。

注意清單1中<util:autoComplete>標記的兩個屬性:

•value是名稱為user的托管bean的國家屬性。

•completionItems是字段的完成項目的初始集。

User類是一個簡單的托管bean,專為本例而設計。其代碼如清單2所示:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved