Problema com Converter de Objeto em selectOneMenu  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
javer
Virtual Machine Man
[Avatar]

Membro desde: 10/09/2007 12:06:29
Mensagens: 642
Localização: São Paulo - SP
Offline

Tenho esse selectOneMenu que lista uma relação de Tarifas de Cálculo de Frete, preciso que quando selecione um item atualize os campos do formulário (por enquanto apenas um campo: nome) mas não está funcionando, parece que o valueChangeListener nunca é disparado no BB .
Como sou novo "nisso" acho que estou fazendo alguma coisa errada.

Lembrando que uso: RichFaces + Facelets + JSF
xhtml:

Bean:


Alguém pode me dá um help nisso?

This message was edited 1 time. Last update was at 04/06/2009 07:41:26


------------------------------------------------------
Java Desktop Developer (Swing) - www.javasis.com.br
--- Disponível para Emprego ---
[WWW]
thiago.correa
GUJ Master
[Avatar]

Membro desde: 26/03/2006 18:54:30
Mensagens: 1861
Offline

Eu não sei qual é o nome agora que o ajax4jsf se uniu com o richfaces, mas no teu select utilize a tag a4j:support, pois ele dispara uma requisição ajax e é capaz de atualizar o teu campo!

---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
[MSN]
dermstr
HelloWorld

Membro desde: 14/05/2009 18:31:43
Mensagens: 12
Offline

Olá javer.

Como thiago falou, o a4j:support poderá te ajudar quando for usado dentro da tag do selectOneMenu, mas tipo,

eu tava observando seu selectOneMenu e ele está usando a propriedade reRender, até onde eu sei esta não é uma propriedade do h:selectOneMenu. Se vc necessita usar o reRender (que no seu caso, você vai precisar) acredito que você iria precisar utilizar o

<a4j:support event="onchange" reRender="nome" /> dentro da tag selectOneMenu.

abraços, flw


Maurício Esteves

Att,

Maurício Esteves.
javer
Virtual Machine Man
[Avatar]

Membro desde: 10/09/2007 12:06:29
Mensagens: 642
Localização: São Paulo - SP
Offline

Na verdade não se trata de um campo, mas sim de um formulário inteiro que está linkado a cada propriedade do objeto no BB.

O que você diz a4jsf é:

Não resolve meu problema.

Obrigado mesmo assim.

------------------------------------------------------
Java Desktop Developer (Swing) - www.javasis.com.br
--- Disponível para Emprego ---
[WWW]
javer
Virtual Machine Man
[Avatar]

Membro desde: 10/09/2007 12:06:29
Mensagens: 642
Localização: São Paulo - SP
Offline

dermstr wrote:Olá javer.

Como thiago falou, o a4j:support poderá te ajudar quando for usado dentro da tag do selectOneMenu, mas tipo,

eu tava observando seu selectOneMenu e ele está usando a propriedade reRender, até onde eu sei esta não é uma propriedade do h:selectOneMenu. Se vc necessita usar o reRender (que no seu caso, você vai precisar) acredito que você iria precisar utilizar o

<a4j:support event="onchange" reRender="nome" /> dentro da tag selectOneMenu.

abraços, flw


Maurício Esteves

Obrigado Maurício mas o problema também é que o valueChangeListener="#{tarifaBean.tarifaChanged}" nunca é chamado, por que ocorre isso?

------------------------------------------------------
Java Desktop Developer (Swing) - www.javasis.com.br
--- Disponível para Emprego ---
[WWW]
javer
Virtual Machine Man
[Avatar]

Membro desde: 10/09/2007 12:06:29
Mensagens: 642
Localização: São Paulo - SP
Offline

Obrigado a todos,

Como eu havia falado sou iniciante, como tal nem tinha colocado um <rich:message for="tarifas" globalOnly="false"/>, agora que coloquei vi que estava dando um erro de conversão.

Estou montando a lista de objeto para mostrar no selectOneMenu assim:


Tenho esse converter, mas acho que tem alguma coisa errada nele ou na forma como estou montando a lista de SelectItem:


Quando coloquei ele como o converter e seleciono um item caiu na throw new ConverterException("A classe " + value.getClass() + " não é uma instância.");

------------------------------------------------------
Java Desktop Developer (Swing) - www.javasis.com.br
--- Disponível para Emprego ---
[WWW]
fabio.massa
JavaChild
[Avatar]

Membro desde: 01/12/2003 19:44:46
Mensagens: 119
Localização: Suzano
Offline

Olá javer, vamos ver se posso ti ajudar:
A assinatura do método está correta, você debugou e ao alterar o valor do combo seu método não é chamado correto?, bom, o mais indicado como nosso amigos acima disseram era utilizar a tag <a4j:support /> bem mais fácil, mas no seu caso talvez tenha que fazer algo do tipo:

Quando comecei com JSF fazia algo do tipo, hoje acho muito mais fácil utilizar a4j.
Tenta aí e fala se deu certo.

Abraços,

http://blog.fabiomassa.com.br
http://twitter.com/fabiomassa
[Email] [MSN] [ICQ]
javer
Virtual Machine Man
[Avatar]

Membro desde: 10/09/2007 12:06:29
Mensagens: 642
Localização: São Paulo - SP
Offline

Ok, agora tá funcionando.

Só mais uma pergunta: é necessário essa tag <h:form> ?

------------------------------------------------------
Java Desktop Developer (Swing) - www.javasis.com.br
--- Disponível para Emprego ---
[WWW]
dermstr
HelloWorld

Membro desde: 14/05/2009 18:31:43
Mensagens: 12
Offline

Olá javer.

Na minha opinião o h:selectOneMenu está passando valores e valores constituem um formulário.

Então acredito que sim, é necessário. Provavelmente se tirar, ele poderá deixar de funcionar.

Mas qualquer dúvida, faz o teste. Só leva uns segundos

Até logo.

Maurício Esteves

Att,

Maurício Esteves.
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team