如 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 | 對集合中的每個項目重複頁面的一部分。 |
沒有留言:
張貼留言