Używam widgetu PrimeFaces p:autoComplete
w formularzu wyszukiwania mojego projektu. Użytkownik może wybrać liczbę i jakie elementy formularza (parametry wyszukiwania), które chce uwzględnić, więc muszę przekazać identyfikator do każdego z nich: completeMethod
. Próbowałem dodać onfocus=".."
, aby przekazać obiekt do komponentu bean, ale tylko wtedy był on aktywowany po załadowaniu pierwszego elementu.Przekazywanie parametru do ukończeniaMethod of p: autoComplete
Moje pytanie: Jak mogę przekazać atrybut do completeMethod
?
XHTML elementu (prosty):
<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
completeMethod="#{myBean.complete}" />
Fasola (prosty):
@Named("myBean")
public class MyController implements Serializable {
public List<String> complete(String query) {
List<String> results = new ArrayList<String>();
// ... code
return results;
}
}
W teorii brzmi to idealne rozwiązanie:
<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
completeMethod="#{myBean.complete(filter)}" />
I ponownie fasola:
@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;
}
}
Próbowałem zarówno sugerowane sollutions i oboje pracowali jak czar. Wybrałem drugie podejście, więc nie potrzebowałem tego atrybutu. Wielkie dzięki! –
Nie ma za co. Zwróć uwagę, że dodałem sugestię '@ Inject', która może ci się również przydać. – BalusC