Session

Boa tarde,
Preciso guardar os dados de um formulario dentro de uma sessão.
Mas não estou conseguindo pegar estes valores no ManagedBeans e criar a sessão.
Alguem poderia me ajudar?
Obrigado!!!

como vc esta fazendo ??

Giulliano,
Preciso pegar o valor do campo, incluir na sessão, e ainda preencher o campo com esta sessão.
Por enquanto travei aqui:

//xhtml
...
<h:outputLabel value="#{bundle['form.numero']}" for="numero" />
<h:inputText value="" id="numero" />
...
<a4j:commandButton action="#{admMB.enderecoLista}" value="#{bundle['btnEnviar']}" />
...

//managed bean
...
public HttpSession enderecoLista(){
		HttpSession session = (HttpSession) 
		FacesContext.getCurrentInstance().getExternalContext().getSession(false);  
		session.setAttribute("logradouro", getLogradouro());
		return session;
	}
...

só que não está certo.
Qual seria a melhor forma de montar esta estrutura?

Entendi…e se vc fizesse assim:

//xhtml   
...   
<h:outputLabel value="#{bundle['form.numero']}" for="numero" />   
<h:inputText value="{managedBean.numero}" id="numero" />   
...   
<a4j:commandButton action="#{admMB.enderecoLista}" value="#{bundle['btnEnviar']}" />   
...   
  
//managed bean   
...  

pirvate String numero;
//Gets e Sets
 
public HttpSession enderecoLista(){   
        FacesContext.getCurrentInstance().getExternalContext().getSession(false).setAttribute("logradouro", this.numero);   
        return session;
    }   
...  

Uma coisa importante é o botão que vc esta usando…um <a4j:commandButton> e não um <h:commandButton>

A diferença é que o value do componente caso vc usasse um binding estaria no submittedValue e não no Value. Entendeu ???

certo,
e agora depois de setar o valor na session eu preciso exibi-lo em uma tabela na qual ja esta exibindo uma consulta do banco, o objeto de consulta do banco é o mesmo que utilizo na session. É possivel?

Então renato na verdade as coisas funcionam assim no JSF. o ManagedBean sempre tem um escopo ( requisição, sessão, aplicação ) se seu managedBean for de sessão vc não precisa setar valor algum na sessão “manualmente”. Ele estará lá pra vc.

Depois para exibir esse valor em outro lugar basta chamar


<h:outputLabel value="#{bundle['form.numero']}" for="numero" />     
<h:outText value="{managedBean.numero}" />  //Exibindo apenas

enquanto a sessão for válida o valor não sera trocado a menos q vc o faça. Entendeu ??

Entendi,
Valeu cara, até mais!