Como obter o arquivo de propriedades da pasta /web-inf no JSF?
-
22-09-2019 - |
Pergunta
Eu tenho alguns arquivos de propriedades em /WEB-INF
. E eu quero carregá -lo em um feijão gerenciado pela JSF. Existe alguma maneira de fazer isso?
Solução
Use qualquer um ExternalContext#getResource()
ou ExternalContext#getResourceAsStream()
onde você passa pelo caminho relativo do webcontent.
Por exemplo:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Properties properties = new Properties();
// ...
properties.load(externalContext.getResourceAsStream("/WEB-INF/file.properties"));
Isso delega sob as coberturas para ServletContext#getResource()
/getResourceAsStream()
.
Veja também:
Outras dicas
Coloque-o em Web-Inf/Classes. Isso faz parte do caminho de classe.
String path="/WEB-INF/list.properties";
InputStream is=FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(path);
InputStreamReader r = new InputStreamReader(is);
BufferedReader br = new BufferedReader(r);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow