У меня есть файл свойств в /WEB-INF. И я хочу загрузить его в управляемый компонент JSF. Есть ли способ сделать это?
/WEB-INF
Используйте либо ExternalContext#getResource(), либо ExternalContext#getResourceAsStream(), когда вы передаете относительный к веб-контенту путь.
ExternalContext#getResource()
ExternalContext#getResourceAsStream()
например:.
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); Properties properties = new Properties(); // ... properties.load(externalContext.getResourceAsStream("/WEB-INF/file.properties"));
Это делегирование под прикрытием ServletContext#getResource() / getResourceAsStream().
ServletContext#getResource()
getResourceAsStream()
Поместите это в WEB-INF / классы. Это часть пути к классам.
String path="/WEB-INF/list.properties"; InputStream is=FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(path); InputStreamReader r = new InputStreamReader(is); BufferedReader br = new BufferedReader(r);