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

JLL*_*CHR 4 jsf properties-file

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

project.properties中:

cfg.bd.dbname=midatabase-name
Run Code Online (Sandbox Code Playgroud)

在某些jsf页面中,一些表达式与此类似:

<h:outputText value="#{cfg.bd.dbname}" />
Run Code Online (Sandbox Code Playgroud)

谢谢!

Bal*_*usC 6

你可以(ab)使用<f:loadBundle>它.

<f:loadBundle basename="project" var="project" />
...
<h:outputText value="#{project['cfg.bd.dbname']} />
Run Code Online (Sandbox Code Playgroud)

我说滥用,因为<f:loadBundle>它最初是用于加载允许国际化的本地化文本包,但是因为它使用相同类型的属性文件,所以你可以很好地将它用于类路径中的任何属性文件.

  • 不,只是在类路径中.上面的答案假设它位于类路径根(即不在包内).如果你把它放在一个包里面,例如`com.exampe.config`,那么你需要`basename ="com.example.config.project". (2认同)