架構概覽
JSF 圖形組件(如 ILOG JViews)核心在於「管理圖形 Bean」與「分離渲染與互動」:
- 圖形 Bean:封裝所有圖表繪製邏輯(柱狀圖、圓餅圖、氣泡圖等),高度可配置。
- JSF 組件:生命週期管理、狀態保持、資料繫結。
- 渲染器:輸出
<img> + JavaScript 互動物件。
- Servlet:接收圖片請求,調用圖形 Bean 生成圖片流回應。
運作流程
- JSF 頁面渲染時,組件建立/取得圖形 Bean,配置資料與樣式。
- 渲染器輸出
<img src="ChartServlet?id=..."> 及客戶端 JavaScript 物件。
- 瀏覽器請求圖片,Servlet 從 Session 取得圖形 Bean,生成 PNG/JPG 輸出。
- 用戶互動(縮放、平移、切換系列)觸發 JavaScript,發送 AJAX 請求至 Servlet,僅更新圖片區域。
- 若互動涉及資料變更(如鑽取),提交整頁表單觸發完整 JSF 生命週期。
標籤使用範例
<jvcf:chartView id="c" style="width:500px;height:300px"
data="#{bean.dataset}" chartType="bar" />
輔助組件
- Overview:顯示整圖縮圖,可拖曳可視區域矩形。
- Legend:顯示圖例,可內嵌或獨立顯示。
- Interactors:封裝縮放、平移、選取等客戶端互動邏輯。
應用核心優勢
將圖形 Bean 狀態保持在伺服器端,客戶端僅持有輕量互動代碼,符合 JSF 狀態管理模型,便於維護、安全、且支援叢集環境下的 Session 複寫。