<p:autocomplete> con Converter
<p:autocomplete> con Converter
Converter antes de JSF 2.3 no soportan CDI
, por lo que debemos usarlo a través de @Named y @RequestScoped
En el formulario sin jsf 2.3
<f:converter binding="#{actividadesConverter}" /> <p:outputLabel rendered="#{!actividadesController.nuevoregistro}"
value="#{msg.actividad}" for="actividad" />
<p:autoComplete scrollHeight="250" dropdown="true" size="45" rendered="#{!actividadesController.nuevoregistro}"
value="#{actividadesController.selected}"
completeMethod="#{actividadesController.actividadesServices.completeActividad}"
var="p"
itemLabel="#{p.actividad}" itemValue="#{p}"
forceSelection="true">
<f:converter binding="#{actividadesConverter}" />
<p:ajax event="itemSelect" listener="#{actividadesController.handleSelect}" update=":form:panel,:form:growl" />
<f:facet name="itemtip">
<h:panelGrid columns="1" cellpadding="5">
<h:outputText value="#{p.actividad}" />
<h:outputText value="#{p.tipo}" />
<h:outputText value="#{p.idactividades}" />
</h:panelGrid>
</f:facet>
</p:autoComplete>En el converter sin jsf 2.3
Debemos usar las anotaciones
@Named
@RequestScoped
Crear el EJB SessionBean Services
Es idéntico para JSF 2.3 y anteriores, alli colocamos los complete que seran invocados desde los formularios

En el Controller
En cada controller donde se usará el autocomplete debemos injectar el Services y generar los métodos set/get
Injectar el services
JSF 2.3 Soporta CDI en los Converter
Crear al converter con jsf 2.3
Usar @FacesConverter(value = "actividadesConvertidor")
En el formulario con jsf 2.3
Last updated
Was this helpful?