Problema com rich:suggestionbox e a4j:support

7 respostas
edysnipes

Boa tarde pessoal.

Estou com o seguinte problema. Tenho um suggestionbox que funciona certinho. Ao selecionar uma sugestão seria apresentado abaixo a descrição completa do item selecionado.

Para isso estou utilizando o <a4j:support so que o parametro só chega null no bean.

Tentei utilizar o commandLink tanto do a4j quanto do MyFaces porém assim o método no bean nem é acessado.

O problema é que estou utilizando a versão 3.1.2 do RichFaces que não possui onobjectchange="" e nem usingSuggestObjects=“true” que resolveria o problema.

Utilizo também o MyFaces 1.1.5 que não tem a opção <f:setPropertyActionListener que também resolveria o problema.

Não posso atualizar esses frameworks pois utilizo o jboss 4.0 que não suporta tais atualizações.

Segue como está o código agora:

<h:outputLabel for="CC" value="CC" styleClass="texto_padrao"  />
					<h:inputText style="width: 460" id="CC" required="true" styleClass="txtField1" value="#{bean.object.id}" />
					
					
					<rich:suggestionbox styleClass="drpDown1" height="70" width="460"
					                    for="CC" var="a" suggestionAction="#{bean.sugestoes}" 
					                    tokens="," fetchValue="#{a.desc}" 
					                    nothingLabel="Nenhuma sugestão no momento" >					

						<h:column>
							<h:outputText value="#{a.detalhe}" />
						</h:column>
						
						<a4j:support event="onselect" ajaxSingle="true" immediate="true" actionListener="#{bean.carrega}" reRender="desc">
							<a4j:actionparam name="id"  value="#{a.id}" assignTo="#{bean.id}" />
						</a4j:support>
										
					</rich:suggestionbox>
					
					
					<a4j:outputPanel id="desc">
						<h:outputLabel for="descLei" value="Descrição: " styleClass="texto_padrao" />
						<h:outputText value="#{bean.descricao}" id="descLei" />
					</a4j:outputPanel>

Grato.

7 Respostas

alves.Felipe

e se vc pegar no bean como parametro… getParameter(“id:campo”);

edysnipes

value="#{a.id}" vem sempre null seja utilizando actionParam ou param.

edysnipes

Alguma solução em JavaScript se encaixaria aki?

alves.Felipe

nao… eu falei par vc tentar assim… pegar o request… e usar o request.getParameter()
manja? se tiver o valor na tela… assim ele pega

edysnipes

teria como vc colocar um exemplo cara, obrigado!

K

Brother, não tenho certeza, mas acho que você tem que colocar um conversor ai.

Pq vc ta tentando jogar um objeto ali nos parametros, mas o Richfaces deve receber uma String se não me engano…

Cria um “BeanConverter” (Implementando a classe Converter), registra lá no faces-config.xml e usa no JSF, deve funcionar…

Abraços!

alves.Felipe
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) fc.getExternalContext().getRequest();
String codCliente = request.getParameter("Form:idCliente");

onde:
Form é o id do meu form;
idCliente é o id do h:inputText

Criado 21 de janeiro de 2010
Ultima resposta 22 de jan. de 2010
Respostas 7
Participantes 3