Olá pessoal.
A lista do autocomplete funciona perfeitamente, trazendo os elementos do BD.
Porém, sempre é enviado o id da primeira opção da lista independente se eu selecionar outra opção.
Alguém poderia me ajuda??
Desde já obrigado!
página.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<div id="divFiltroConsulta">
<div id="jsFunctions">
<a4j:jsFunction name="consultaProcesso"
actionListener="#{processoMB.consultaProcesso}"
render="panelFiltro dgProcesso">
<a4j:param name="opcao" />
<a4j:param name="filtro" />
</a4j:jsFunction>
</div>
<h:form id="frmFiltroConsulta">
<rich:panel id="panelFiltro" header="Filtro de Consulta">
<h:panelGrid columns="3">
<h:outputLabel value="Cliente:" />
<h:panelGrid columns="2">
<rich:autocomplete id="clienteFiltro" minChars="3" mode="ajax"
inputClass="autoCompleteWidth300"
popupClass="autoCompletePopupHieght"
value="#{processoMB.nomePessoa}" var="pes"
fetchValue="#{pes.nome}"
autocompleteMethod="#{pessoaMB.consultaPorNome}"
onselectitem="consultaProcesso('idPessoa', #{rich:element('idUserNome')}.value)">
<h:panelGrid columns="2">
<rich:column>
<h:inputHidden value="#{pes.id}" id="idUserNome" />
<h:outputText value="#{pes.id}" />
</rich:column>
<h:outputText value="#{pes.nome}" />
</h:panelGrid>
</rich:autocomplete>
<a4j:commandLink>
<h:graphicImage value="../01_cliente/img/icoLupa.png" />
<rich:componentControl target="popup" operation="show" />
</a4j:commandLink>
</h:panelGrid>
<h:outputText value="" />
</h:panelGrid>
</rich:panel>
</h:form>
</div>
</ui:composition>
ProcessoMB.java
@ManagedBean(name = "processoMB")
@ViewScoped
public class ProcessoMB {
public void consultaProcesso() {
try {
FacesContext context = FacesContext.getCurrentInstance();
String opcao = context.getExternalContext().getRequestParameterMap().get("opcao");
String filtro = context.getExternalContext().getRequestParameterMap().get("filtro");
System.out.println("Opção: " + opcao);
System.out.println("Filtro: " + filtro);
} catch (Exception e) {
e.printStackTrace();
}
}
}