Problema com o Session do JSF e SEAM [Resolvido]  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Romildo_Paiter
JavaChild
[Avatar]

Membro desde: 09/04/2008 17:35:24
Mensagens: 129
Offline

Ola pessoal tudo bem.

Estou com um problema, acho que deve ser simples! Tenho um ManagedBean com escopo de session e tem alguns itens mo Bean vão para a sessão quando criadas e um objeto em especifico que deveria estar indo para a sessão não esta!

Bom vou apresentar meus codigos aqui.




O Dao faz o servico dele normal, autenticando o cliente

E quando eu chamo o por exemplo o treixo abaixo pegando o login do cliente. Ele traz um valor null.



E o treixo abaixo recuperara normal os valores inseridos.




Desde já agrade qualquer ajuda;

Valeu pessoal

This message was edited 1 time. Last update was at 07/02/2012 14:26:13


Romildo Jozué Paiter

Graduando em Sistema da Informação :: UFMT
Técnico em Desenvolvimento de Sistemas e Rede de Computadores.
[Yahoo!] [MSN]
alias
Virtual Machine Man

Membro desde: 11/06/2007 11:09:34
Mensagens: 596
Offline

Cara, o seu objeto Cliente...é um objeto gerenciado pelo Seam. Repare nesta linha:



Você está injetando o Cliente que está na sessão nesse atributo do seu objeto "loginBean". Ocorre que o Seam tentará injetar esse cara a cada invocação do loginBean, e o objeto Cliente da sessão está nulo. Acredito que o problema seja esse.

Como o seu Cliente é instanciado dentro da classe, no retorno do seu dao, acredito que anotar esse atributo com @Out(scope=ScopeType.Session) resolverá o seu problema.
Romildo_Paiter
JavaChild
[Avatar]

Membro desde: 09/04/2008 17:35:24
Mensagens: 129
Offline

E ai alias, beleza!

Obrigado pela resposta. Estou estou começando a testa-la agora.

Mas só uma coisa antes.

Quando utilizamos a anotação:



Isso não deveria criar todos os outro objetos pertencentes a esse Objeto?




O que vc acho que devo fazer, criar uma instancia de endereco e depois setar ela no cliente?

O tem alguma outra solução mais elegante?

Obrigado.

Romildo Jozué Paiter

Graduando em Sistema da Informação :: UFMT
Técnico em Desenvolvimento de Sistemas e Rede de Computadores.
[Yahoo!] [MSN]
alias
Virtual Machine Man

Membro desde: 11/06/2007 11:09:34
Mensagens: 596
Offline

Romildo_Paiter wrote:E ai alias, beleza!

Obrigado pela resposta. Estou estou começando a testa-la agora.

Mas só uma coisa antes.

Quando utilizamos a anotação:



Isso não deveria criar todos os outro objetos pertencentes a esse Objeto?




O que vc acho que devo fazer, criar uma instancia de endereco e depois setar ela no cliente?

O tem alguma outra solução mais elegante?

Obrigado.


Na verdade o que será criado é apenas a instancia de Cliente. Os objetos dentro do Cliente QUE NÃO SÃO INJETADOS, ou seja, não tem as anotações do Seam, terão que ser criados por você. Em suma, sim, você teria que criar uma instância de Endereço e setar no Cliente, ou definir um método em Cliente que faça esse comportamento.

E o @Out, funcionou?

Romildo_Paiter
JavaChild
[Avatar]

Membro desde: 09/04/2008 17:35:24
Mensagens: 129
Offline

E ai alias, beleza

A solução final para colocar o objeto na sessão foi:

@In(required = false, create = false, scope = ScopeType.SESSION)
@Out(required = false, scope = ScopeType.SESSION)
private Cliente cliente;

Obrigado.

Romildo Jozué Paiter

Graduando em Sistema da Informação :: UFMT
Técnico em Desenvolvimento de Sistemas e Rede de Computadores.
[Yahoo!] [MSN]
alias
Virtual Machine Man

Membro desde: 11/06/2007 11:09:34
Mensagens: 596
Offline

Romildo_Paiter wrote:E ai alias, beleza

A solução final para colocar o objeto na sessão foi:

@In(required = false, create = false, scope = ScopeType.SESSION)
@Out(required = false, scope = ScopeType.SESSION)
private Cliente cliente;

Obrigado.


Blz, cara...se possivel coloque um RESOLVIDO no título do tópico para que outros colegas que porventura tenham a mesma duvida possam se beneficar.

O mais importante aí é você compreender a anotação @Out que é uma feature muito legal do Seam, que te permite "ejetar" o valor.
Romildo_Paiter
JavaChild
[Avatar]

Membro desde: 09/04/2008 17:35:24
Mensagens: 129
Offline

OK

Romildo Jozué Paiter

Graduando em Sistema da Informação :: UFMT
Técnico em Desenvolvimento de Sistemas e Rede de Computadores.
[Yahoo!] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team