Estoy usando el widget PrimeFaces p:autoComplete
en un formulario de búsqueda de mi proyecto. El usuario puede elegir cuántos y qué elementos de formulario (parámetros de búsqueda) quiere incluir, así que necesito pasar un ID al completeMethod
para cada uno de ellos. Intenté agregar onfocus=".."
para pasar el objeto al bean, pero eso solo se activaría cuando se cargue el elemento primero.Pasando el parámetro para completar el método de p: autocompletar
Mi pregunta: ¿Cómo puedo pasar un atributo al completeMethod
?
XHTML del elemento (simple):
<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
completeMethod="#{myBean.complete}" />
El frijol (simple):
@Named("myBean")
public class MyController implements Serializable {
public List<String> complete(String query) {
List<String> results = new ArrayList<String>();
// ... code
return results;
}
}
En teoría, esto podría parecer la solución perfecta:
<p:autoComplete value="#{filter.value}" label="dynamic search attribute"
completeMethod="#{myBean.complete(filter)}" />
Y de nuevo el frijol:
@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;
}
}
He intentado tanto sollutions sugeridas y ambos trabajado como un encanto. Elegí el segundo enfoque, así que no necesitaría el atributo. ¡Muchas gracias! –
De nada. Tenga en cuenta que agregué una sugerencia '@ Inject' que también puede funcionar para usted. – BalusC