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

Rational Application Developer 第三方 JSF 組件庫定義完整教學

     編輯:Java 相關知識

IBM Rational Application Developer (RAD) 7.5 引入 Faces Library Definition (JLD) 機制,讓開發團隊能將第三方 JSF 組件庫(如 Apache MyFaces Tomahawk、PrimeFaces、RichFaces)標準化封裝,並在 IDE 中獲得完整的視覺化開發體驗:拖放元件、屬性編輯、樣板預覽、資源自動部署。

核心概念:Faces Library Definition (JLD)

JLD 本質是一個 配置檔 + 資源檔案集合,儲存在專用的 Faces Definitions Project 工作區專案中。它解決了傳統開發中「手動複製 JAR、手寫 faces-config、手改 web.xml」的繁瑣流程,實現:

  • 元件庫一次定義,全團隊共享
  • 專案升級自動偵測與提示
  • 視覺化編輯器完整支援(樣板、圖示、屬性面板)

實戰:整合 Apache MyFaces Tomahawk

1. 建立 Faces Definitions Project

建立 Faces Definitions Project

  • 選單:File → New → Project → Web → Faces Definitions Project
  • 專案命名:MyFaces Components

2. 建立 Library Definition

建立 Library Definition

  • 右鍵專案 → New → Faces Library Definition
  • 定義名稱:tomahawk
  • 選擇下載的 tomahawk.jar
  • 完成後自動解析 JAR 內 META-INF/faces-config.xml 產生 tomahawk.jld

3. 建立測試 Web 專案驗證

建立 Dynamic Web Project

  • New → Dynamic Web Project,Configuration 選 JavaServer Faces v1.1 Project
  • 建立 JSP 頁面,調色盤即出現 tomahawk 抽屜
  • 調色盤第三方元件
  • 拖放元件至頁面,自動提示複製 JAR 到 WEB-INF/lib

進階配置:讓元件庫「好用、好看、好維護」

① 附加相依資源

Tomahawk 需要 Apache Commons 相依套件:

commons-fileupload.jar
commons-lang.jar

新增檔案資源

  • JLD 編輯器 → Resources 區段 → Add → File
  • 選擇 JAR,預設部署至 /WEB-INF/lib

② 註冊 Web.xml 過濾器

Tomahawk 需要 ExtensionsFilter 處理資源請求:

新增過濾器定義

  • Application Configuration → web.xml Updates → Add → Filter
  • Name: MyFacesExtensionsFilter
  • Class: org.apache.myfaces.webapp.filter.ExtensionsFilter
  • URL Mapping: /faces/myFacesExtensionResource/*
  • Servlet Mapping: Faces Servlet
  • Init Param: maxFileSize=20m

③ 自訂元件視覺化樣板

解決預設灰色方框無法預覽問題:

資料表自訂視覺化

  • Tag Library → dataTable → Visualization → Edit → Insert from Template → Data table
  • Tag Library → column → Visualization → Edit → Insert from Template → Column in a data table
  • 樣板變數 ${children}、${facet:header} 自動渲染子元件與 Facet

④ 調整屬性面板顯示順序與型別

指定屬性型別

  • Tag Attributes → 拖曳調整屬性順序(常用屬性置頂)
  • 指定 newspaperOrientation 為 Enum 型別,列出可選值:horizontal/vertical

⑤ 定義 Child Tags 快捷樣板

建立 Child Tags 樣板

  • dataTable → Add → Child Tags → 名稱 New Column
  • Pattern 定義完整欄結構含 header facet
  • 屬性編輯器一鍵新增欄位
  • 新增欄位選單

版本管理與團隊共享最佳實務

📦 JAR 命名規範

使用通用名稱:tomahawk.jar 而非 tomahawk-1.1.8.jar。升級時替換檔案即可,無需修改 JLD 路徑。

🔢 版本號策略

JLD 版本號遵循 Eclipse 插件規範 a.b.c.d。建議對應元件庫版本:1.1.8。修改 Application Configuration 後必須遞增版本號,觸發專案升級提示。

👥 團隊共享流程

  1. 將 Faces Definitions Project 納入版控
  2. 團隊成員匯入工作區
  3. 工具自動偵測 JLD,啟用所有視覺化功能

除錯技巧

  • 關閉 Definitions Project → 調色盤抽屜消失 → 重開專案 → 抽屜恢復(驗證 JLD 載入機制)
  • 拖放異常時,檢查 Drop Properties → Allows children 設定
  • 視覺化不生效 → 關閉重開 JSP 編輯器

掌握 JLD 機制,讓第三方 JSF 元件庫在團隊中像原生元件一樣順暢開發,是 RAD 7.5+ 版本不可或缺的生產力技能。

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