本文概述
它是一个输入组件, 可在键入输入时提供实时建议。
通过调用采用单个字符串参数的服务器端completeMethod来加载建议。
PrimeFaces提供了<p:autoComplete>组件, 该组件用于创建带有建议的文本框。它包括下表中列出的各种属性。
自动补全属性
下表包含AutoComplete属性的属性。
Attribute | Default value | 返回类型 | Description |
---|---|---|---|
id | null | String | 它是组件的唯一标识符。 |
rendered | true | Boolean | 它返回布尔值以指定组件的呈现。 |
binding | null | Object | 它用于el表达式, 该表达式映射到后备bean中的服务器端UIComponent实例。 |
value | null | Object | 它是组件的值, 可以是文字文本的EL表达式。 |
converter | null | Object | 定义组件转换器的el表达式或文字文本。 |
immediate | false | Boolean | 当设置为true时, 它将返回布尔值, 在此组件的应用请求值阶段执行过程验证逻辑。 |
required | false | Boolean | 用于根据需要标记组件。 |
RequiredMessage | null | String | 它用于设置在必填字段验证失败时显示的消息。 |
dropdown | false | Boolean | 设置为true时启用下拉模式。 |
accesskey | null | String | 它用于设置访问键, 按下该访问键会将焦点转移到输入元素。 |
autocomplete | null | String | 它执行自动补全行为。 |
Lang | null | String | 它用于设置该组件在生成的标记中使用的语言。 |
onclick | null | String | 单击输入元素时执行的客户端回调。 |
active | true | Boolean | 定义是否启用自动补全功能。 |
例子
在下面的示例中, 我们正在实现<p:autoComplete>组件。本示例包含以下文件。
JSF文件
// autoComplete.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"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>AutoComplete</title>
</h:head>
<h:body>
<h3>PrimeFaces AutoComplete Example</h3>
<h:form>
<p:growl id="msgs" showDetail="true" />
<h:panelGrid columns="2" cellpadding="5">
<p:outputLabel value="Provide Country: " />
<p:autoComplete value="#{autoComplete.countryName}" completeMethod="#{autoComplete.countryList()}" />
</h:panelGrid>
</h:form>
</h:body>
</html>
ManagedBean
// AutoComplete.java
package com.srcmini;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class AutoComplete {
String countryName;
public List<String> countryList() {
ArrayList<String> list = new ArrayList<>();
list.add("India");
list.add("Australia");
list.add("Germany");
list.add("Italy");
list.add("United States");
list.add("Russia");
return list;
}
public String getCountryName() {
return countryName;
}
public void setCountryName(String CountryName) {
this.countryName = CountryName;
}
}
输出
评论前必须登录!
注册