Java EE 5 將 JSF 置於核心位置,試圖統一 Web 開發模式。相對傳統 JSP/Servlet,JSF 帶來:可定制豐富 UI 組件、良好事件機制、EL 表達式、表單自動轉換驗證、MVC 框架模型。但常規 JSF 引擎存在:運行性能不理想、缺乏工具支持。
Ajax 通過 JS/DHTML 提供異步編程模型,改善人機體驗,但解決層面低,難形成高度抽象框架方案。JSF 則是可擴展框架級方案。預判:Ajax 1-2 年內將被新技術取代 (XAML/XUL/RIA 標準),但 JSF 適應新技術只需換 Render Kit。例:圖表功能,IE 用 VML、Gecko/Opera 用 SVG,伺服端判斷瀏覽器換 Render Kit 即可,JSP 難做到。
非第三方組件庫 + Servlet/Filter,而是 JSF 容器直接處理 Ajax 請求。判斷請求類型:常規 HTTP → 跑 JSF 頁面並注入必需 JS;Ajax 請求 → 解碼參數、執行除渲染外所有階段、構建組件樹、提取變更數據打包 Ajax 響應、客戶端局部更新。實現 Ajax Render Kit 注入 JS,修改配置即可切換。
常規 JSF 基於 Session/請求傳遞全量狀態,開銷大。Apusic 僅傳遞變更數據,大幅提效;傳統整頁刷新變為組件級局部更新,體驗更佳。
<ajax:support> 標籤包裹 (如 Tomahawk Tree 只刷新樹節點)。<ajax:status> 處理請求發送/完成事件 (顯示載入圖片/文字)。onstart/onstop 執行自定義 JS。<ajax:remoteCommand> 以 RPC 調用伺服端 Java 方法。基於 Eclipse,提供語法高亮、代碼輔助、斷點調試、可視化設計。呼應 JSF 規範「JSF is designed to be tooled」。
Apusic JSF 以容器級 Ajax 整合、性能優化、零 JS 開發、工具鏈完善,展示國產中間件在 Java EE 標準前沿的創新能力。