如何在 JSF 页面中显示从属性文件加载的属性

Posted

技术标签:

【中文标题】如何在 JSF 页面中显示从属性文件加载的属性【英文标题】:How to show a property loaded from properties file in JSF page 【发布时间】:2012-06-10 14:38:49 【问题描述】:

是否可以在 JSF 页面中显示从 project.properties 文件加载的属性(例如数据库名称)?

project.properties中:

cfg.bd.dbname=midatabase-name

在一些 jsf 页面中,一些类似这样的表达式:

<h:outputText value="#cfg.bd.dbname" />

谢谢!

【问题讨论】:

【参考方案1】:

您可以(ab)为此使用&lt;f:loadBundle&gt;

<f:loadBundle basename="project" var="project" />
...
<h:outputText value="#project['cfg.bd.dbname'] />

我说滥用,因为&lt;f:loadBundle&gt; 最初旨在加载允许国际化的本地化文本包,但由于它使用相同类型的属性文件在幕后,你也可以将它用于类路径中的任意属性文件。

【讨论】:

而且,如果文件在 WEB-INF 下? (谢谢) 不,只是在类路径中。上面的答案假设它位于类路径根目录上(即不在包内)。如果你将它放在一个包中,例如com.exampe.config,那么你需要basename="com.example.config.project"

以上是关于如何在 JSF 页面中显示从属性文件加载的属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从 JSF 的 /WEB-INF 文件夹中获取属性文件?

如何在jsf页面上显示方法的输出

JSF Spring Bean 设置属性

如何使用 JSF 显示/隐藏组件?

如何在 JSF 组件中显示预览文本?

以编程方式访问 JSF 应用程序中的属性文件