我正在创建一个数据库设置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
提前致谢
答案 0 :(得分:23)
由于安全原因,<h:inputSecret>
默认情况下不会重新显示密码。但是,您可以通过设置redisplay="true"
来启用它。
<h:inputSecret value="#{bean.password}" redisplay="true" />
另见TLD document:
redisplay
指示在创建表单时应呈现此字段中的任何现有值的标志。由于这是潜在的安全风险,因此默认情况下不会显示密码值。
答案 1 :(得分:3)
更新:
我道歉:
唯一需要添加的是
redisplay="true"
,因为出于安全原因没有显示密码