首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

JSF 整合 AJAX 企業級開發之路(一):動機、層級與 Dynamic Faces 介紹

     編輯:J2EE

企業級定義

  • 健壯、可擴展、易測試、業界驗證
  • 易用、易開發、支援 TDD
  • 工具支援匹配團隊技能
  • 良好擴展性:組件化與抽象層應對複雜度增長

JSF 滿足以上:大量採用站點、廠商工具組件支援、TDD 實踐驗證。

AJAX 定義與 Comet

  • AJAX:非同步機制動態更新頁面外觀行為
  • Comet:AJAX「推」模式,異步伺服器主動推送內容,ICEsoft 已實作

為什麼 JSF + AJAX?

JSF 設計特性天生協同 AJAX:

  • 組件狀態伺服器端保持
  • 生命週期階段精確控制
  • 渲染模型封裝客戶端差異

五種整合層級(遞增)

  1. Naked AJAX:Frank Zammetti 術語,全手寫,理解底層但陷入框架開發沼澤
  2. JS 框架:Dojo/DWR/Prototype,仍需侵入性整合代碼
  3. JSF AJAX 擴展:Dynamic Faces、ICEfaces、Ajax4jsf (RichFaces)、BackBase、JackBe
  4. 帶 AJAX 的 JSF 組件:開箱即用,jsfmatrix.net 比較
  5. JCP 官方標準:專家組整合擴展優點入規範,但進度緩慢

Dynamic Faces 核心優勢

  • 利用 JSF 1.2 新特性正確處理上下文敏感交互
  • 零 JavaScript 開發,純 JSF API
  • 允許手寫 JS 實現複雜操作
  • 已納入 Sun Web Developer Pack(0.1 版)

MCP 自動化測試

Mozilla Control Program (MCP) 使用 JUnit/TestNG 自動測試 AJAX 應用,早期 Alpha 技術源自 mozilla.org 經驗。

企業級 Web 應用必備清單

  • 資料轉換/驗證
  • 頁面流程控制
  • 資料庫整合 (JPA/Hibernate)
  • 國際化/本地化/無障礙 (Section 508)
  • 單元/系統測試可測性
  • 用戶體驗

AJAX 歷來讓無障礙與測試成為痛點,JSF + AJAX 方案可同時解決。

Struts/Tapestry/JSF 重述(文中附錄)

同文章 76198 比較內容,重申 JSF 為中庸之選。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved