1

我的 xhmtl 页面的一部分:

<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
  }

我总是在我的 .xhtml 中得到“Unkown property searchbyName”,autocompleteMethod="#{autocompletMit.searchbyName()}"因为他排除了一个值......我必须在这里提交哪个值?!?

4

1 回答 1

5
autocompleteMethod="#{autocompletMit.searchbyName()}"

当您有一个带参数的方法时,这是不正确的。删除那些括号。RichFaces<rich:autocomplete>展示示例也根本没有显示您应该调用无参数方法。


找不到方法:Controller.AutoCompleteMitarbeiter@7a88716.searchbyName (java.lang.String)

这说明它期望一个searchbyName方法接受一个String参数。你的有一个Object论据。这不匹配。相应地修复它:

public List<String> searchbyName(String query) {
于 2012-12-15T13:07:37.903 回答