<h:inputsecret>自动变为空,即使我在后端bean中保留值</h:inputsecret>

时间:2011-12-14 05:07:14

标签: java xhtml jsf-2

即使我在后面的bean中保留了值,

也会自动变为空。 我已经在jsf2中的back bean中的inputsecret变量中设置了password的值,而且输入的秘密显示为空。

2 个答案:

答案 0 :(得分:10)

由于安全原因,这确实是<h:inputSecret>的默认行为。您可以通过将redisplay属性设置为true来获取重新显示的值。

<h:inputSecret value="#{bean.password}" redisplay="true" />

另见view declaration language documentation(强调我的)

  

编码行为

     

将组件的clientId渲染为“name”属性的值。将组件的当前值渲染为“value”属性的值,当且仅当“redisplay”组件属性为字符串“true”时。如果指定了“styleClass”属性,则将其值作为“class”属性的值进行渲染。

答案 1 :(得分:1)

这是xhtml页面的一部分:

<h:form>
    <h:inputSecret value="#{login.password}" />
</h:form>

这是支持bean:

@Component //Spring component
public class Login{
    private String password;
    public Login(){
       password="12341fsf"; //any value you want to set
    }
}

我测试了这段代码,它运行良好