java Jsf RichFaces自动完成:获取自动完成方法()的InputValue
我的XHTML页面的一部分:
<rich:autocomplete autocompleteMethod="#{autocompletMit.searchbyName()}" mode="cachedAjax"
fetchValue="#{controller.mitarbeiter.mitarbeiterName}" autocompleteList="#{autocompletMit.autocompleteList}" minChars="1" autofill="true" var="it" >
<h:outputText value="#{it.mitarbeiterName}" style="font-weight:bold"/>
</rich:autocomplete>
用于我的自动完成的Bean:
@ManagedBean(name = "autocompletMit")
@RequestScoped
public class AutoCompleteMitarbeiter implements Serializable {
@EJB
private Transaktionssteuerung transakt;
private List<String> autocompleteList = new ArrayList<String>();
String nameSearch;
public List<String> searchbyName(Object o) {
String test = (String) o;
List<Mitarbeiter> alleMitarbeiter = transakt.alleMitarbeiter();
for (Iterator<Mitarbeiter> it = alleMitarbeiter.iterator(); it.hasNext();) {
if (it.next().getMitarbeiterName().startsWith(test)) {
autocompleteList.add(it.next().getMitarbeiterName());
}
}
return autocompleteList;
}
//getter & setter
}
我总是在我的邮箱里找到“未知财产搜索名”。用于autocompleteMethod="#{autocompletMit.searchbyName()}"
的xhtml,因为他排除了一个值。。。我必须在这里提交哪个值
# 1 楼答案
当你有一个接受参数的方法时,这是不正确的。去掉那些括号。RichFaces ^{} showcase example 也没有显示您应该调用一个无参数的方法
很明显,它期望一个
searchbyName
方法接受一个String
参数。你的需要一个Object
参数。这不匹配。相应地修复它: