2025年3月12日 星期三

a table summary of the javaserver faces 2.2 tag libraries defined in java ee 7

Java/Jarkarta EE 版本歷史所列,Java EE 7 標準發佈於 2013 年,伴隨的 JavaServer Faces 2.2 標準,已實作於 GlassFish 4.x 版本。其 .xhtml 網頁支援的標籤可參考 Oracle JavaEE 7 JSF 2.2 網站,共分成如下 6 種命名空間。

  • h: 為 JSF 超文字(html)標籤庫,提供標準 HTML 標籤的 JSF 版本,如 h:form、h:inputText 等,用於生成 HTML 表單元素。

  • f: 為 JSF 特殊功能(function)標籤庫,提供 JSF 的核心功能標籤,如 f:view、f:ajax、f:convertDateTime 等,用於處理事件、轉換器和 AJAX 功能。

  • ui: 為 JSF 配置用戶介面(user interface)標籤庫,提供模板和組合元件功能的標籤,如 ui:composition、ui:include、ui:repeat 等,用於定義和重複利用頁面結構。

  • c: 為 JSTL 核心(core)標籤庫,提供 JSTL的核心功能標籤,如 c:forEach、c:if、c:set 等,用於邏輯控制和迭代。

  • cc: 為 JSTL 組合元件(composite component)標籤庫,提供定義和使用組合元件的標籤,如 cc:interface、cc:implementation、cc:attribute 等,用於創建可重複利用的元件。

  • fn: 為 JSTL 函數(function)標籤庫,提供 JSTL 的函數標籤,如 fn:contains、fn:substring、fn:replace 等,用於字符串操作和其他常見功能。

其中,後面3種 JSTL (JavaServer Pages Standard Tag Library) 命名空間主要為了相容於早期發展的 JSP (JavaServer Pages) 網頁。以下針對 JSF (JavaServer Faces) 常見的前3種命名空間標籤,由 Miscosoft Copilot 摘要成表格如下。

h:命名空間標籤 描述
h:body 定義 HTML 文檔的主體。
h:button 渲染 HTML 按鈕。
h:column 定義數據表中的列。
h:commandButton 渲染可以提交表單的按鈕。
h:commandLink 渲染可以提交表單的鏈接。
h:dataTable 渲染數據表。
h:doctype 聲明文檔類型。
h:form 渲染 HTML 表單。
h:graphicImage 渲染圖像。
h:head 定義 HTML 文檔的頭部。
h:inputFile 渲染文件輸入字段。
h:inputHidden 渲染隱藏輸入字段。
h:inputSecret 渲染密碼輸入字段。
h:inputText 渲染文本輸入字段。
h:inputTextarea 渲染文本區輸入字段。
h:link 渲染超鏈接。
h:message 顯示單個驗證消息。
h:messages 顯示所有驗證消息。
h:outputFormat 渲染格式化文本。
h:outputLabel 為輸入字段渲染標籤。
h:outputLink 渲染超鏈接。
h:outputScript 渲染腳本。
h:outputStylesheet 渲染樣式表鏈接。
h:outputText 渲染文本。
h:panelGrid 渲染網格面板。
h:panelGroup 將組件分組在一起。
h:panelpassthrough.Element 渲染透傳元素。
h:selectBooleanCheckbox 渲染布爾值的複選框。
h:selectManyCheckbox 渲染多選複選框組。
h:selectManyListbox 渲染多選列表框。
h:selectManyMenu 渲染多選菜單。
h:selectOneListbox 渲染單選列表框。
h:selectOneMenu 渲染單選菜單。
h:selectOneRadio 渲染單選單選按鈕組。

f:命名空間標籤 描述
f:actionListener 為組件註冊一個動作監聽器。
f:ajax 為組件添加 Ajax 功能。
f:attribute 為組件添加一個屬性。
f:attributes 為組件添加多個屬性。
f:convertDateTime 將字符串轉換為日期/時間對象。
f:converter 為組件註冊一個轉換器。
f:convertNumber 將字符串轉換為數字。
f:event 為組件註冊一個事件監聽器。
f:facet 為組件聲明一個面。
f:loadBundle 加載資源包。
f:metadata 為視圖聲明元數據。
f:param 為組件添加一個參數。
f:passThroughAttribute 為組件添加一個透傳屬性。
f:passThroughAttributes 為組件添加多個透傳屬性。
f:phaseListener 為生命周期註冊一個階段監聽器。
f:resetValues 重置輸入組件的值。
f:selectItem 為選擇組件添加一個項目。
f:selectItems 為選擇組件添加多個項目。
f:setPropertyActionListener 當動作事件發生時設置屬性。
f:subview 在視圖中聲明一個子視圖。
f:validateBean 驗證一個 bean。
f:validateDoubleRange 驗證值是否在雙精度範圍內。
f:validateLength 驗證字符串的長度。
f:validateLongRange 驗證值是否在長整數範圍內。
f:validateRegex 根據正則表達式驗證字符串。
f:validateRequired 驗證值是否不為 null。
f:validator 為組件註冊一個驗證器。
f:valueChangeListener 為組件註冊一個值變更監聽器。
f:verbatim 渲染原始文本。
f:view 聲明一個視圖。
f:viewAction 聲明在視圖處理期間調用的動作。
f:viewParam 聲明一個視圖參數。

ui:命名空間標籤 描述
ui:component 定義可重用的組件,可以包含在其他頁面中。
ui:composition 定義頁面的模板,允許包含其他組件。
ui:debug 提供 JSF 頁面的調試信息。
ui:decorate 類似於 `ui:include`,但允許插入用戶定義的模板。
ui:define 定義模板的一部分,可以填充內容。
ui:fragment 定義頁面的一部分,可以包含在其他頁面中。
ui:include 包含另一個頁面或模板的內容。
ui:insert 將內容插入到模板的定義部分。
ui:param 將參數傳遞給包含的頁面或模板。
ui:remove 從渲染輸出中移除內容。
ui:repeat 對集合中的每個項目重複頁面的一部分。

沒有留言: