在页面加载期间从托管bean设置jsf InputSecret的值

时间:2010-09-23 07:40:03

标签: java jsf

我正在创建一个数据库设置jsf页面,它在页面加载期间显示属性文件中的值。然后,用户更新页面并按提交,并在属性文件中更新值。

我遵循了Balusc提供的解决方案

Invoke JSF managed bean action on page load

并在辅助bean的构造函数中设置值。

  public DbSettingsBean()
  {        
    this.setUserName(helper.getValueForProperty("user_name"));
    this.setPassword(helper.getValueForProperty("password"));
  }

虽然我在页面加载期间设法显示属性文件中的用户名。我无法在页面加载期间显示inputsecret的密码值。它仍然是空白。

在页面加载期间是否还有其他方法可以显示密码?

我正在使用JSF RI 1.2和Richfaces 3.3.2

提前致谢

2 个答案:

答案 0 :(得分:23)

由于安全原因,<h:inputSecret>默认情况下不会重新显示密码。但是,您可以通过设置redisplay="true"来启用它。

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

另见TLD document

  

redisplay

     

指示在创建表单时应呈现此字段中的任何现有值的标志。由于这是潜在的安全风险,因此默认情况下不会显示密码值。

答案 1 :(得分:3)

更新:

我道歉:

  

唯一需要添加的是redisplay="true",因为出于安全原因没有显示密码