Wie bekomme ich eine Eigenschaftendatei aus /web-inf-Ordner in JSF?
-
22-09-2019 - |
Frage
Ich habe einige Eigenschaftendateien in /WEB-INF
. Und ich möchte es in eine JSF -bewirtschaftete Bohne laden. Gibt es eine Möglichkeit, das zu tun?
Lösung
Benutze das eine oder das andere ExternalContext#getResource()
oder ExternalContext#getResourceAsStream()
wobei Sie den Webcontent-Relativweg bestehen.
Z.B:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Properties properties = new Properties();
// ...
properties.load(externalContext.getResourceAsStream("/WEB-INF/file.properties"));
Dies delegiert unter den Covers zu ServletContext#getResource()
/getResourceAsStream()
.
Siehe auch:
Andere Tipps
Setzen Sie es in Web-Inf/Klassen ein. Das ist Teil des Klassenpfads.
String path="/WEB-INF/list.properties";
InputStream is=FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(path);
InputStreamReader r = new InputStreamReader(is);
BufferedReader br = new BufferedReader(r);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow