Condition IF entre variable string de facelet et objet ne fonctionne pas
Bonjour à tous (J'arrête pas en ce moment ^^)
J'ai dans ma facelet ce formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<h:form>
<h:panelGrid columns="1" class="PanelCenter">
<h4>Mon mot de passe</h4>
<h:panelGrid columns="2">
h:outputLabel for="mdpold" value="Ancien mot de passe :" />
<h:inputText id="mdpold" value="#{identificationIBean.oldMotDePasse}" />
<h:outputLabel for="newmdp" value="Nouveau mot de passe :" />
<h:inputText id="newmdp" value="#{identificationIBean.newMotDePasse}" />
</h:panelGrid>
<h:panelGrid columns="2">
<h:commandButton id="saveAddress" action="#{identificationIBean.saveMDP}" value="Sauvegarder nouveau mot de passe" />
</h:panelGrid>
</h:panelGrid>
</h:form> |
qui n'est accessible que si mon user est logué (Member memberLog).
Quand je clique sur saveMDP(), ma méthode se lance alors :
Code:
1 2 3 4 5 6 7 8
|
// Sauvegarder le nouveau mot de passe
public String saveMDP() throws Exception {
if (oldMotDePasse == memberLog.getMotDePasse()){
return null; // test
}
return null;
} |
Bien qu'en mode débug j'ai bien les bonnes "values" dans oldMotDePasse et memberLog.getMotDePasse() et qu'elles sont égales, je ne rentre pas dans ma condition. J'ai le même problème lors de l'identification lorsque je veux comparer le mot de passe à celui de la base de donnée (donc à mon objet Member), la condition if == ne fonctionne pas. Je ne comprend pas où est le problème.