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?

Foi útil?

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
scroll top