8
Я хочу динамически ссылаться на XSD из компонента, как это возможно? Я уже добавил XSD в проект, поэтому он находится где-то в домене GlassFish.Как ссылаться на файловый ресурс в приложении JSF
Я хочу динамически ссылаться на XSD из компонента, как это возможно? Я уже добавил XSD в проект, поэтому он находится где-то в домене GlassFish.Как ссылаться на файловый ресурс в приложении JSF
Используйте ExternalContext
.
Если вы хотите, чтобы загрузить ресурс в бина, сделайте это с помощью getResource или getResourceAsStream:
InputStream stream = FacesContext.getCurrentInstance().getExternalContext()
.getResourceAsStream("/foo.xsd");
Если вы хотите, чтобы вернуть URL ресурса, используйте getRequestContextPath, чтобы получить относительный путь к хосту корень:
ExternalContext ext = FacesContext.getCurrentInstance()
.getExternalContext();
String path = ext.getRequestContextPath();
path += path.endsWith("/") ? "foo.xsd" : "/foo.xsd";
String url = ext.encodeResourceURL(path);
спасибо! У меня это как InputStream, и после этого я смог прочитать XSD через компилятор BufferedReader-InputStreamReader :) –