Passing parameter to completeMethod of p:autoComplete

Я использую виджет PrimeFaces p:autoComplete в поисковой форме моего проекта. Пользователь может выбирать, сколько и какие элементы формы (параметры поиска) он хочет включить, поэтому мне нужно передать ID в completeMethod для каждого из них. Я пробовал добавить onfocus="..." для передачи объекта в bean, но это будет активировано только при первой загрузке элемента.

Мой вопрос: Как я могу передать атрибут в completeMethod?

XHTML элемента (простой):

<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
                completeMethod="#{myBean.complete}" />

Бин (простой):

@Named("myBean")
public class MyController implements Serializable {

    public List<String> complete(String query) {
        List<String> results = new ArrayList<String>();
        // ... code
        return results;
    }
}

В теории это кажется идеальным решением:

<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
                completeMethod="#{myBean.complete(filter)}" />

И снова бин:

@Named("myBean")
public class MyController implements Serializable {

    public List<String> complete(String query, FilterObject o) {
        List<String> results = new ArrayList<String>();
        // ... database query based on FilterObject o
        return results;
    }
}
16
задан Jens Piegsa 1 March 2017 в 19:16
поделиться