Olá,
Estou com um problema relacionado á JSF.
eu tenho uma tela de Login de usuáruio com a seguinte estrutura:
<p:panel style="background-color: #f5f5f5;height: 300px;border: 0px;">
<br/><br/>
<h:outputText styleClass="letras" value="Entrar" style="font-size: 20px"/>
<br/><br/>
<h:outputText styleClass="letras" value="Nome de usuario" style="font-size: 17px;"/>
<br/>
<h:inputText id="campousuario" size="40" style="height: 30px" required="true" requiredMessage="Campo obrigatorio" value="#{login.login}"/>
<br/><br/>
<h:outputText styleClass="letras" value="Senha" style="font-size: 17px;" />
<br/>
<h:inputSecret id="camposenha" size="40" style="height: 30px" required="true" requiredMessage="Campo obrigatorio" value="#{login.senha}"/>
<br/><br/>
<p:commandButton value="Entrar" style="width: 50%" action="#{login.validarAcesso()}" ajax="false"/>
<p:commandButton value="Limpar"/>
<br /><br />
<h:commandLink value="Nao consegue acessar a conta?" style="color: blue"/>
</p:panel>
o bean que gerencia isso é:
@ManagedBean(name = "login")
@SessionScoped
public class Login implements Serializable {
private String login;
private String senha;
private String nome;
/*Getters e Setters*/
public String validarAcesso() {
String servidor = "Nome do servidor"
String dominio = "Nome do domínio";
ArrayList<String> grupos = Ldap.Autenticar(login, senha , servidor, dominio);
if (grupos != null) {
this.nome = this.nomeUsuario(login);
return "template.xhtml";
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Usuário e/ou senha inválida"));
return "index.xhtml";
}
}
Beleza, o servidor autentica o usuário e ele é direcionado para a página ‘template.xhtml’ que tem uma opção para mostrar o nome do usuário que é o atributo ‘nome’, na primeira vez que a tela aparece o nome da pessoa aparece corretamente, porém ao atualizar o navegador com o F5 o nome some, como se o atributo ‘nome’ estivesse nulo.
a tela aonde aparece o nome:
<h:form id="form_pref_user">
<p:menubar id="btnPreferenciasUsuario" style="background-color: #244062; border: 0px; color: #FFFFFF">
<p:submenu label="#{login.nome}" icon="ui-icon-document">
<p:menuitem value="Alterar Senha"/>
<p:menuitem value="Sair" onclick="#{login.logout()}" url="index.xhtml"/>
</p:submenu>
</p:menubar>
</h:form>
Alguém tem alguma ideia?