Primefaces提供内置的Ajax支持。它提供了各种属性, 如更新, 事件, 侦听器等。在这里, 我们创建一个解释ajax属性的示例。
Ajax属性
下表包含Ajax属性。
Attribute | 默认值 | 返回类型 | Description |
---|---|---|---|
listener | null | MethodExpr | 它用于处理部分请求。 |
Immediate | false | boolean | 当在apply_request_values处处理为真动作时, 在invoke_application阶段为false时, 它返回一个确定phaseId的布尔值。 |
async | false | boolean | 设置为true时, ajax请求不会排队。 |
process | null | String | 它用于处理部分请求。 |
update | null | String | 它用于用ajax更新。 |
onstart | null | String | 它用于在ajax请求开始之前执行。 |
oncomplete | null | String | 它用于在ajax请求完成时执行。 |
onsuccess | null | String | 它用于在ajax请求成功时执行。 |
delay | null | String | 用于设置延迟时间。如果对request()的调用之间的延迟时间少于毫秒, 则仅发送最近的请求, 所有其他请求都将被丢弃。如果未指定此选项, 或者delay的值是不带引号的文字字符串” none”, 则不使用延迟。 |
partialSubmit | false | boolean | 启用仅属于部分处理的组件的值的序列化。 |
partialSubmitFilter | null | String | 启用部分提交时使用的选择器, 默认值为”:input”以选择部分处理的组件的所有后代输入。 |
event | null | String | 客户端事件触发ajax请求。 |
Ajax基本
此示例说明了应用程序中内置的Ajax用法。它使用Ajax更新后端值并显示输出。
该示例包括一个JSF页面和一个ManagedBean。
JSF文件
// ajax-basic.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://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Ajax Basic Example</title>
</h:head>
<h:body>
<h2>Basic Ajax Example</h2>
<h:form>
<h:panelGrid columns="4" cellpadding="5">
<h:outputLabel for="name" value="Name:" style="font-weight:bold" />
<p:inputText id="name" value="#{user.name}" />
<p:commandButton value="Submit" update="display" icon="ui-icon-check" />
<h:outputText id="display" value="#{user.name}" />
</h:panelGrid>
</h:form>
</h:body>
</html>
ManagedBean
// User.java
package com.srcmini;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class User implements Serializable{
String name;
String lastName;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
输出
输入值并按提交后, 将产生以下输出。
评论前必须登录!
注册