JSF: Objetos relacionados

3 respostas
gustavodelgado

Quando possuo 2 objetos relacionados, por exemplo:

Objeto1:

Integer id;
String descricao;

Objeto 2:

Integer id;

String descricao;

Objeto1 objeto1;

Supondo que tenho o Objeto2 instanciado e inserido na sessão (JSF), como faço para exibir algum atributo do Objeto1 (relacionado ao Objeto2) em um textField???

<ui:textField text="#{ ??? }">

3 Respostas

gustavodelgado

Bom, acabei descobrindo que é mais simples do que pensei, para exibir o atributo id do Objeto1 em um formulário que exibe o Objeto2, bastou colocar
<ui:textField text="#{Objeto2.objeto1.id}">

Porém agora estou com outro problema (quando o objeto ainda não está criado na sessão):
No meu formulário, tenho este campo que exibe o id do Objeto1, quando clico em algum botão que envia o formulário (independente se preenchi ou não este campo), ele retorna como um erro de validação:
“Error setting property ‘id’ in bean of type null”

Se eu colocar o botão como “immediate” ele funciona, porém não posso fazer isso em todos os botões.
É a primeira vez que faço este tipo de cadastro, alguém poderia me orientar?

Obrigado.

urubatan

o objeto ja tem que estar criado, não tem outra opção.
você pode fazer isto, ou então colocar o seu objeto no faces-config.xml
outra coisa, tente não colocar objetos na sessão, utilize sempre o escopo de request, a não ser que seja estremamente necessário …

gustavodelgado

urubatan:
o objeto ja tem que estar criado, não tem outra opção.
você pode fazer isto, ou então colocar o seu objeto no faces-config.xml
outra coisa, tente não colocar objetos na sessão, utilize sempre o escopo de request, a não ser que seja estremamente necessário …

As minhas 2 classes estão no faces-config. Ele não deveria criar os dois objetos quando eu clico em algum botão? Objeto1 dentro do atributo do Objeto2???
Eu não terei os objetos na sessão quando estiver fazendo uma inclusão de um Objeto2, entende?
Valeu.

Criado 22 de abril de 2006
Ultima resposta 27 de abr. de 2006
Respostas 3
Participantes 2