Estou fazendo uma aplicação com tomcat 7 e jsf 2.0
O problema é que meu bean nao persiste na sessão ao navegar de uma página para outra ele some
ai vai meu código do bean
public class AlunoBean implements Serializable{
private static final long serialVersionUID = 1L;
private Aluno aluno = new Aluno();
private CadastroAlunoBean cadastro = new CadastroAlunoBean();
private AlteraCadastro altera = new AlteraCadastro();
private Competencia competencia = new Competencia();
//METODOS GETTERS E SETTERS
// MÉTODO PARA CONFERIR O LOGIN DOS ALUNOS
public String login(){
AlunoDAO alunoDAO = new AlunoDAOImpl();
Aluno temp = alunoDAO.verificaAluno(getAluno());
FacesContext facesContext = FacesContext.getCurrentInstance();
if(temp == null){
FacesMessage facesMessage = new FacesMessage("Erro nos dados fornecidos");
facesContext.addMessage("aviso", facesMessage);
return "fracassoLogin";
}else{
this.aluno = temp;
System.out.println(this.aluno.getNome()+" "+this.aluno.getEmail());
this.aluno.setAlunochas(alunoDAO.carregaAlunoCompetencias(this.aluno));
this.altera.setCompetencia(this.aluno.getAlunochas());
HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(true); //ESTOU COLOCANDO O USER AQUI NA SESSÃO
session.setAttribute("aluno", this.aluno);
facesContext.addMessage("bem-vindo", new FacesMessage("Bem-vindo, "+this.aluno.getNome().toUpperCase()));
return "welcome";
}
os dados do usuário nao aparecem na página
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>.::ROAC::.DADOS DO USUÁRIO</title>
<h:outputStylesheet library="css" name="estiloUser.css" />
</h:head>
<h:body>
<div id="head">
<h:outputLabel value="RECOMENDADOR - CONTA DO USUÁRIO" />
</div>
<h:form id="formNome">
<p:panel id="painelNome" header="NOME" toggleable="true" toggleSpeed="500" collapsed="true">
<center>
<p:messages for="nomeSenha" />
<h:panelGrid columns="2" >
<h:outputText value="Nome Atual: " />
<h:outputText value="#{alunoBean.aluno.nome}" /> //AQUI DEVERIA ESTAR O NOME DO USER, MAS ELE NAO APARECE
<h:outputText value="Novo Nome: " />
<h:inputText value="#{alunoBean.altera.aluno.nome}" />
</h:panelGrid>
<h:panelGrid >
<h:outputText value="Para salvar esta configuração, digite sua senha." />
<h:inputSecret value="#{alunoBean.altera.aluno.senha}" style="margin-left:25%;" />
<p:commandButton update="formNome" action="#{alunoBean.alterarNome()}" value="Salvar Alteração" style="margin-left:30%;" />
</h:panelGrid>
</center>
</p:panel>
</h:form>
Não sei se isso seria um problema do tomcat que cuida das sessoes do usuário ou do jsf.
Se alguem poder me dar uma luz.
[]s