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

JSF 整合 AJAX 企業級開發之路(二):進階方案與組件庫選型

     編輯:J2EE

整合層級演進

  1. Naked AJAX:手寫 XMLHttpRequest、setTimeout、跨瀏覽器相容——不推薦
  2. JS 框架:Dojo/DWR/Prototype 封裝底層,但需撰寫侵入性代碼整合 JSF
  3. JSF AJAX 擴展:Project Dynamic Faces、ICEfaces、Ajax4jsf (RichFaces)、BackBase、JackBe —— 推薦
  4. 帶 AJAX 的 JSF 組件庫:開箱即用,jsfcentral.com 可比較市場行情

Project Dynamic Faces 亮點

  • 零 JavaScript 開發,純 JSF API 即得 AJAX 效果
  • 正確處理 JSF 上下文敏感交互(利用 JSF 1.2 新特性)
  • 支援批次事件提交,減少往返
  • 僅 2 個 JSP Tag + 2 個 JS Function 即可上手
  • 現處於 0.1 版,缺乏大規模測試,謹慎生產使用

架構設計哲學:為何 JSF 天生適合 AJAX

  • Swing 風格組件模型:狀態保持在伺服器,客戶端僅為投影
  • 定義良好的生命週期:比單純 Request/Response 豐富,可精確控制局部更新
  • 彈性渲染模型:RenderKit 封裝客戶端細節,支援多種輸出格式
  • JavaScript 封裝責任在組件開發者:頁面作者無需觸碰 JS,統一管理同步

常見 AJAX 問題與 JSF 解法

未來展望:JSF 2.0

  • 更 Client-centric 生命週期
  • 可能弱化組件概念,但保留驗證/轉換核心
  • 專家組 (EG) 正在制定規範,官方 AJAX 方案仍需時日

結論

為現有/新專案插上 AJAX 翅膀極具價值。Dynamic Faces 讓開發者以極小成本跨出關鍵一步。建議:以 JSF 為基礎,選用成熟 AJAX 組件庫(RichFaces/PrimeFaces/ICEfaces),避免自行整合 JS 框架。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
問題JSF 方案
跨瀏覽器相容組件庫封裝 JS 框架解決
國際化/本地化JSF 內建支援,AJAX 無需介入
Script 管理Shell remoting 機制,安全載入 classpath 外 JS
過多 XMLHttpRequestDynamic Faces 批次事件一次送出
XML 回應含   實體導致 Mozilla 解析失敗JSF 方案統一定義實體或改用 JSON