2009-10-06 12 views

Odpowiedz

16

Użyj ExternalContext.

Jeśli chcesz załadować zasobu w fasoli, zrób to poprzez getResource lub getResourceAsStream:

InputStream stream = FacesContext.getCurrentInstance().getExternalContext() 
    .getResourceAsStream("/foo.xsd"); 

Jeśli chcesz powrócić URL do zasobu, należy getRequestContextPath aby uzyskać ścieżkę względem do hosta root:

ExternalContext ext = FacesContext.getCurrentInstance() 
    .getExternalContext(); 
String path = ext.getRequestContextPath(); 
path += path.endsWith("/") ? "foo.xsd" : "/foo.xsd"; 
String url = ext.encodeResourceURL(path); 
+0

Dziękuję bardzo! Mam go jako InputStream, a następnie byłem w stanie odczytać XSD za pomocą combo BufferedReader-InputStreamReader :) –

Powiązane problemy