How to get properties file from /WEB-INF folder in JSF?

jsf, managed-bean, properties, properties-file, web-inf

Solution

Use either `ExternalContext#getResource()` or `ExternalContext#getResourceAsStream()` wherein you pass the webcontent-relative path.

E.g.:

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Properties properties = new Properties();
// ...
properties.load(externalContext.getResourceAsStream("/WEB-INF/file.properties"));

This delegates under the covers to `ServletContext#getResource()`/`getResourceAsStream()`.

See also:

- Where to place and how to read configuration resource files in servlet based application?

Problem

I have some properties file in `/WEB-INF`. And I want to load it in a JSF managed bean. Is there any way to do that?

Original source

Related problems