
- JSF 教程
- JSF - 首頁
- JSF - 概述
- JSF - 環境設定
- JSF - 架構
- JSF - 生命週期
- JSF - 第一個應用程式
- JSF - 託管 Bean
- JSF - 頁面導航
- JSF - 基本標籤
- JSF - Facelet 標籤
- JSF - 轉換器標籤
- JSF - 驗證器標籤
- JSF - DataTable
- JSF - 複合元件
- JSF - Ajax
- JSF - 事件處理
- JSF - JDBC 整合
- JSF - Spring 整合
- JSF - 表示式語言
- JSF - 國際化
- JSF 有用資源
- JSF - 快速指南
- JSF - 有用資源
- JSF - 討論
JSF - Ajax
AJAX 代表非同步 JavaScript 和 XML。
Ajax 是一種使用 JavaScript 的 HTTPXMLObject 向伺服器傳送資料並非同步接收伺服器資料的技術。因此,使用 Ajax 技術,javascript 程式碼與伺服器交換資料,更新網頁的部分內容而無需重新載入整個頁面。
JSF 為進行 ajax 呼叫提供了極好的支援。它提供 f:ajax 標籤來處理 ajax 呼叫。
JSF 標籤
<f:ajax execute = "input-component-name" render = "output-component-name" />
標籤屬性
序號 | 屬性 & 描述 |
---|---|
1 | disabled 如果為真,則 Ajax 行為將應用於任何父元件或子元件。如果為假,則 Ajax 行為將被停用。 |
2 | 事件 將觸發 Ajax 請求的事件,例如“click”、“change”、“blur”、“keypress”等。 |
3 | 執行 應包含在 Ajax 請求中的元件 ID 的空格分隔列表。 |
4 | 立即 如果為“true”,則從此行為生成的事件在“應用請求值”階段廣播。否則,事件將在“呼叫應用程式”階段廣播。 |
5 | 監聽器 在 Ajax 請求期間呼叫的支援 Bean 中方法的 EL 表示式。 |
6 | Onerror 如果在 Ajax 請求期間發生錯誤,將呼叫的 JavaScript 回撥函式的名稱。 |
7 | Onevent 將呼叫以處理 UI 事件的 JavaScript 回撥函式的名稱。 |
8 | 渲染 Ajax 請求後將更新的元件 ID 的空格分隔列表。 |
示例應用程式
讓我們建立一個測試 JSF 應用程式來測試 JSF 中的自定義元件。
步驟 | 描述 |
---|---|
1 | 在包 com.tutorialspoint.test 下建立一個名為 helloworld 的專案,如 JSF - 第一個應用程式 章節中所述。 |
2 | 修改 UserData.java 檔案,如下所述。 |
3 | 修改 home.xhtml,如下所述。保持其餘檔案不變。 |
4 | 編譯並執行應用程式以確保業務邏輯按要求工作。 |
5 | 最後,將應用程式構建成 war 檔案並將其部署到 Apache Tomcat Web 伺服器中。 |
6 | 使用適當的 URL 啟動您的 Web 應用程式,如下面的最後一步中所述。 |
UserData.java
package com.tutorialspoint.test; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name = "userData", eager = true) @SessionScoped public class UserData implements Serializable { private static final long serialVersionUID = 1L; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getWelcomeMessage() { return "Hello " + name; } }
home.xhtml
<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml" xmlns:h = "http://java.sun.com/jsf/html" xmlns:f = "http://java.sun.com/jsf/core" xmlns:tp = "http://java.sun.com/jsf/composite/tutorialspoint"> <h:head> <title>JSF tutorial</title> </h:head> <h:body> <h2>Ajax Example</h2> <h:form> <h:inputText id = "inputName" value = "#{userData.name}"></h:inputText> <h:commandButton value = "Show Message"> <f:ajax execute = "inputName" render = "outputMessage" /> </h:commandButton> <h2><h:outputText id = "outputMessage" value = "#{userData.welcomeMessage != null ? userData.welcomeMessage : ''}" /></h2> </h:form> </h:body> </html>
準備好所有更改後,讓我們像在 JSF - 第一個應用程式章節中那樣編譯並執行應用程式。如果您的應用程式一切正常,這將產生以下結果。

輸入名稱並按下“顯示訊息”按鈕。您將看到以下結果,無需頁面重新整理/表單提交。

廣告