GWT 不知伺服端狀態,JSF 組件結構易適應任意渲染。G4JSF (現屬 Ajax4jsf 子項目) 促進二者自然融合。
CDK 生成組件含兩部分:客戶端行為的 GWT Widget、負責 Widget 與 JSF 通信的伺服端邏輯。採用 Facelets 寫組件,比傳統 JSP/TLD/Tag 類簡單得多。
build.properties 指向 GWT 目錄。ant -Dout=D:/workspace/KickStart -Dmodule=demo.gwt.HelloWidget create-component 生成專案。HelloWidgetEntryPoint.java:繼承 ComponentEntryPoint,實現 createWidget() 返回帶 ClickListener 的 Button。ant shell 啟動 GWT Hosted Mode 調試,瀏覽器顯示按鈕點擊彈窗。ant war 生成 KickStart.war,部署至 Tomcat 運行於 JSF 環境 (Run-Time Mode)。META-INF/gwt (最終在 WEB-INF/classes),構建腳本必須複製到可部署產物中。G4JSF 讓 Java 開發者以純 Java 編寫豐富客戶端組件,並無縫納入 JSF 組件樹,享受 JSF 生命周期、狀態管理、事件模型,實現「客戶端豐富交互 + 伺服端標準框架」最佳平衡。