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 で常に「不明なプロパティ 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 に答える