RichFaces 提供了一个自动完成组件,称为 RichFaces Autocomplete。
在链接中,您可以看到第二个示例,使用“,”或“”可以选择多个值。
<rich:autocomplete mode="cachedAjax" tokens=", " minChars="1"
autofill="false"
autocompleteMethod="#{autocompleteBean.autocomplete}" />
在Showcase 源码中,您可以看到 bean 实现
public List<String> autocomplete(String prefix) {
ArrayList<String> result = new ArrayList<String>();
if ((prefix == null) || (prefix.length() == 0)) {
for (int i = 0; i < 10; i++) {
result.add(capitals.get(i).getState());
}
} else {
Iterator<Capital> iterator = capitals.iterator();
while (iterator.hasNext()) {
Capital elem = ((Capital) iterator.next());
if ((elem.getState() != null && elem.getState().toLowerCase().indexOf(prefix.toLowerCase()) == 0)
|| "".equals(prefix)) {
result.add(elem.getState());
}
}
}
对不起,我的英语不好。干杯。