2016-05-23 8 views
-1

Ich möchte folgendes Formular über Ajax übermitteln. Aber wenn ich es übergebe, wird der Wert nicht in die Char-Eigenschaft geschrieben. aber wenn ich Passwort-Eigenschaft in verwalteten Bean-Typ als String geändert hat, funktioniert es. Warum das?JSF inputSecret kann nicht auf Char typisierte Eigenschaft zugreifen

Formular

<h:form> 

     <h:inputText value="#{login.username}" id="username" 
      a:placeholder="Username" /> 
     <br /> 

     <h:inputSecret a:placeholder="Password" id="password" 
      value="#{login.password}" /> 
     <br /> 

     <h:inputText value="#{login.mvc}" /> 

     <h:commandButton value="Submit" > 

      <f:ajax execute="@form" render="out" /> 
     </h:commandButton> 
     <h:outputText id="out" /> 
    </h:form> 

Managed Bean

@ManagedBean 
public class Login { 

    private String username; 

    private char[] password; 

    private String msg; 

    private String mvc; 

    @EJB 
    private LoginService ls; 

    public Login() { 


    } 



    public String getMvc() { 
     return mvc; 
    } 



    public void setMvc(String mvc) { 
     this.mvc = mvc; 
    } 



    public String getUsername() { 
     System.out.println("getuser"); 
     return username; 
    } 



    public void setUsername(String username) { 
     System.out.println("setuser"); 
     this.username = username; 
    } 

    public char[] getPassword() { 
     System.out.println("getpass"); 

     return password; 
    } 



    public void setPassword(char[] password) { 
     System.out.println("setpass"); 
     this.password = password; 
    } 



    public String getMsg() { 
     return msg; 
    } 


} 

Keine Fehlerkonsole Protokoll zeigt und. Wenn der Datentyp "Kennwort" "String" lautet, zeigt die Konsole getusersetusergetpasssetpass an. Wenn der Datentyp char ist, zeigt es getusergetpass Warum ist das? char[] ist nicht gültig?

Antwort

0

Bitte schauen Sie auf diesen link es

  • Attributnamen eindeutig

    erwähnt: - Wert
  • Beschreibung: - Das Attribut value für diese Komponente den aktuellen Wert legt.
  • Typ: -
  • String

Weitere und ausführliche Informationen können Sie SO im Zusammenhang mit <h:inputSecret />

Security: is there a way to use a straight reference to char[] instead of a String?

+0

So Frage überprüfen, was kann ich dagegen tun konvertieren [] als sichere Art und Weise verkohlen? – top11

+0

@ top11 Warum denken Sie, String ist nicht sicher? –

Verwandte Themen