Arrays JSF inputSecret无法访问char-typed属性

Arrays JSF inputSecret无法访问char-typed属性,arrays,jsf,passwords,Arrays,Jsf,Passwords,我想通过ajax提交以下表单。但当我提交它时,它并没有获取/设置char-typed属性的值。但当我将托管bean类型中的password属性更改为String时,它就工作了。为什么呢 表格 <h:form> <h:inputText value="#{login.username}" id="username" a:placeholder="Username" /> <br /> &

我想通过ajax提交以下表单。但当我提交它时,它并没有获取/设置char-typed属性的值。但当我将托管bean类型中的password属性更改为String时,它就工作了。为什么呢

表格

<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>

没有显示和显示控制台日志错误。当数据类型密码为字符串时,控制台显示
getuser
setuser
getpass
setpass
。当数据类型为char时,它会显示
getuser
getpass
为什么<代码>字符[]无效吗

请看一下它清楚地提到的这一点

  • 属性名称:-值
  • 描述:-值属性设置此组件的当前值
  • 类型:-字符串
有关更多详细信息,请查看与


那么,如何将其转换为char[]作为安全的方式呢?@top11为什么您认为字符串不安全
@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;
    }


}