Kontext Pfad

mario87b

Aktives Mitglied
Hallo.

Ich fress gleich meine Tastatur!

Aus der JSP Welt kenn ich noch die Möglichkeit den ContextPfad der JSP Datei aus dem HTTP-request herauszufinden.

Bei JSF gibts diese Möglichkeit wohl nicht mehr.

Also, ich habe folgendes. Eine kleine JSF Hello World Seite und dazu eine ManagedBean. In dieser ManagedBean soll eine Datei vom FileSystem gelesen werden.

Wenn ich den Pfad auf die als absoluten Pfad eingebe, dann funktioniert das alles wunderbar. Wie gebe ich der ollen Bean aber nun den relativen Pfad, ausgehend vom Pfad der Webapplikation mit?


Hilfe!
 
N

nillehammer

Gast
Du kannst doch in Managed Beans diverse Sachen injizieren. Bestimmt auch den ServletContext, auf dem Du dann getRealPath() aufrufen kannst. Ich arbeite selbst nicht mit JSF, deswegen ist nachfolgender Code nicht getestet, sondern nur von stackoverflow.com kopiert:
Java:
@ManagedProperty(value="#{facesContext.externalContext.context}") 
private ServletContext context;
....

String realDateiPath = this.context.getRealPath("/WEB-INF/meineDateien/dieDatei.txt");
Das schreibst Du so in Deine Managed Bean und kannst es benutzen.
 

mario87b

Aktives Mitglied
Danke für den Denkanstoß. Funktioniert aber nicht, bekomme ne Exception.

Ab damit noch ein wenig rumprobiert und im web gestöbert und das Problem nun folgendermaßen gelöst.

Direkt in der ManagedBean.

Java:
String realPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("/");

Danke.
 

Ähnliche Java Themen

Neue Themen


Oben