2009-10-06 10 views

Répondre

16

Utilisez le ExternalContext.

Si vous voulez charger la ressource dans le haricot, le faire via getResource ou getResourceAsStream:

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

Si vous souhaitez renvoyer une URL à la ressource, utilisez getRequestContextPath pour obtenir le chemin par rapport à l'hôte root:

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

Merci beaucoup! Je l'ai en InputStream, et après j'ai été capable de lire le XSD via un combo BufferedReader-InputStreamReader :) –

Questions connexes