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 getuser
setuser
getpass
setpass
an. Wenn der Datentyp char ist, zeigt es getuser
getpass
Warum ist das? char[]
ist nicht gültig?
So Frage überprüfen, was kann ich dagegen tun konvertieren [] als sichere Art und Weise verkohlen? – top11
@ top11 Warum denken Sie, String ist nicht sicher? –