Search code examples
jsfproperties-file

How to show a property loaded from properties file in JSF page


Is it possible, in a JSF page, to show a property loaded from a project.properties file (for example the database name)?

In project.properties:

cfg.bd.dbname=midatabase-name

In some jsf page some expression similar to this:

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

Thanks!


Solution

  • You can (ab)use <f:loadBundle> for this.

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

    I said abuse, because the <f:loadBundle> is initially intented to load localized text bundles which allows for internationalization, but as it's under the covers using the same type of properties files, you could as good use it for any arbitrary properties file in the classpath.