在从受管 Bean 加载页面期间设置 jsf InputSecret 的值

2022-09-03 12:36:39

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

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

在页面加载时调用 JSF 受管 Bean 操作

并在支持 Bean 的构造函数中设置值。

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

虽然我设法在页面加载期间显示属性文件中的用户名。在页面加载期间,我无法显示密码的输入secret的值。它保持空白。

在页面加载期间,有没有其他方法可以显示密码?

我正在使用 JSF RI 1.2 和 Richfaces 3.3.2

提前致谢


答案 1

由于安全原因,<h:inputSecret>确实默认情况下不会重新显示密码。但是,您可以通过设置 将其打开。redisplay="true"

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

另请参阅其TLD文档

redisplay

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


答案 2

更新:

我道歉 :

唯一需要添加的是,由于出于安全原因,密码未被删除redisplay="true"



推荐