[RESOLVIDO] Mostrar/Ocultar senha com <p:password>

2 respostas
J

Pessoal, tenho um cadastro de usuários, onde quando entro com a senha, tenho um checkbox para mostrar/ocultar os caracteres..

Criei 2 variáveis, uma para armazenar o que for digitado no <p:inputText> e outra para armazenar o <p:password>

Ao mudar o checkbox(padrao false), chamo um método que faz a troca de campo das senhas..

Quando mudo de password para text, os valores são carregados e a troca ocorre normalmente;
O problema é: quando tento passar de text para password, o campo fica vazio..

Alguém sabe o que pode ser ? O <p:password> tem algum bloqueio de cópia ?

Obrigado,
Jean..

Meu código:

XHTML:
&lt;h:panelGrid columns="4" columnClasses="colunaCadastro" id="pgDados"&gt;
                            &lt;h:outputLabel value="Senha: "/&gt;
                            &lt;p:outputPanel id="senha"&gt;
                                &lt;p:inputText value="#{cadastroUsuariosMB.senhaText}"
                                             rendered="#{cadastroUsuariosMB.mostraCaracteres}"/&gt;
                                &lt;p:password value="#{cadastroUsuariosMB.senhaPassword}"
                                            rendered="#{!cadastroUsuariosMB.mostraCaracteres}"
                                            feedback="false"/&gt;
                            &lt;/p:outputPanel&gt;
                            &lt;p:selectBooleanCheckbox value="#{cadastroUsuariosMB.mostraCaracteres}" id="mostra"&gt;
                                &lt;p:ajax process="pgDados" 
                                        update="senha"
                                        listener="#{cadastroUsuariosMB.trocaSenhas()}"/&gt;
                            &lt;/p:selectBooleanCheckbox&gt;
                            <b>Mostrar Caracteres</b>
&lt;/h:panelGrid&gt;
Managed Bean:
public void trocaSenhas(){
        
        if(mostraCaracteres){
            senhaText = senhaPassword;
        } else {
            senhaPassword = senhaText;
        }
        
    }

2 Respostas

J

Descobri… É só colocar o atributo “redisplay=true” que a senha é carregada no campo password normalmente

E

Muito obirgado, jeanmalvessi por ter postado a resolução.

Criado 26 de janeiro de 2012
Ultima resposta 13 de jun. de 2012
Respostas 2
Participantes 2