JSF  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Olá pessoal,
eu estou com uma dúvida
e por causa disso não estou
conseguindo resolver o meu problema:



E toda hora que eu clico em avançar e executo o action do commandButton
aparece a seguinte mensagem na página jsf:



Esse 7 é o id do Endereço do Produtor.

Será que alguém poderia me dar uma ajuda
Fazendo o Favor?

[]'s.

This message was edited 1 time. Last update was at 21/01/2010 10:55:38

[MSN]
diegopctba
Debugger

Membro desde: 23/05/2008 15:56:15
Mensagens: 50
Localização: Curitiba
Offline

Ricardo,

a impressão que dá é que o atributo value do menu "{SolicitacaoController.solicitacaoServico.produtor}" está nulo...
inclusive "produtor" não pode estar nulo...
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 888
Localização: Floripa/SC
Offline

Provavelmente você não está instanciando a classe solicitacaoServico.
Caso esteja, poste o código da classe SolicitacaoController para darmos uma olhada.

[]´s
Daniel
[Email] [WWW]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Olá diegopctba,
nessa linha:



o método produtoresCombo pega os produtores do banco e retorna
a String com o nome de cada produtor do banco para o combo.

Mas nessa linha:



Eu preciso de um setar um objeto do tipo Produtor
mas pelo jeito eu estou passando uma String
que é o nome do produtor o problema
é que eu preciso pegar o próprio objeto Produtor
do combo mas se eu pegar o objeto
eu não sei como pegar o nome dele
no combo depois.

Será que alguém pdoeriame dar uma ajuda?
Fazendo o Favor?

[]'s.
[MSN]
22-Gers
JavaChild

Membro desde: 01/09/2006 15:22:02
Mensagens: 131
Localização: Belo Horizonte
Offline

Ricardo,

essa lista que você está mostrando no combo é do que? Tem que ser uma lista de SelectItem com os valores que você deseja setar. Você não pode, por exemplo, pegar uma lista de ids e passar pra f:selectItems.
Faltou alguns dados pra te ajudar melhor, mas esse erro de null converter é quando o JSF não consegue entender o valor de um atributo pela falta de um converter, por isso pensei nessa possibilidade por jsf não conhece long (id) , somente String.

Se o problema não for esse mande mais detalhes pra ver se podemos te ajudar.

[]´s

Bacharel em Computação - Viva cada dia como se fosse o último... um dia você acerta!

Tudo vale a pena quando a alma não é pequena...
[MSN] [ICQ]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Olá yorgan,
aqui esta o trecho aonde eu instâncio a Solicitação.



[]'s.

[MSN]
diegopctba
Debugger

Membro desde: 23/05/2008 15:56:15
Mensagens: 50
Localização: Curitiba
Offline

Ricardo, poste o código dos beans que você está usando, e o código do "solicitacaoServico" também...
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Olá 22-Gers
a minha lista do combo eu fiz da seguinte maneira:



[]'s.
[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Olá diegopctba
o meu código completo esta assim:

classe Solicitação de Serviço:

[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Meu ManagedBean:



Será que alguém pode me dar uma ajuda?

[]'s.
[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Olá pessoal o código ficou
muito grande mas o método
que uso quando eu clico no
commandButton é o create.

Será que tem como alguém me dar
uma ajuda?

[]'s.
[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Olá pessoal
não sei se isso vai ajudar
mas quando eu falei
sobre o ERRO:



Esse valor 7 é o valor do id do Endereco do produtor
selecionado do combo.

[]'s.
[MSN]
diegopctba
Debugger

Membro desde: 23/05/2008 15:56:15
Mensagens: 50
Localização: Curitiba
Offline

Ricardo, fiz um teste aqui e consegui reproduzir seu erro...
Então, vamos por partes... lá no menu:

Em "#{ProdutorController.produtoresCombo}", você precisa preencher uma lista de SelectItem, e em cada SelectItem, no método setValue você precisa passar um objeto da API java, no caso Integer, String, etc... exemplo: item.setValue(produtor.getId()); Note que setValue aceita qualquer tipo de objeto, inclusive de suas classes, mas ao executar, vai dar exatamente este erro que está acontecendo com você.

Resumindo, você está setando o valor de cada selectItem com seu próprio objeto, então minha sugestão, que sempre utilizo, é ao instanciar a lista de SelectItem, em setValue preencher com o id do objeto em questão, e no managed bean criar um atributo do mesmo tipo (no meu caso, Integer) para receber o valor selecionado no menu, e ao executar o método create(), instanciar um objeto Produtor de acordo o id selecionado, e setar em solicitacaoServico.produtor.

Talvez tenha ficado confuso da maneira que expliquei, mas espero que tenha entendido. Qualquer dúvida é só postar.
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Jóia diegopctba,
Seria mais ou menos isso?



Está dizendo que o void não é permitido,
esse método setValue() retorna alguma coisa?

[]'s.
[MSN]
ricardocomp
GUJ Ranger
[Avatar]

Membro desde: 05/03/2008 09:59:06
Mensagens: 764
Offline

Seria isso daqui Diego?


[]'s.
[MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team