8
Chcę dynamicznie odwoływać się do XSD z komponentu bean, jak to możliwe? Dodałem już XSD do projektu, więc znajduje się on gdzieś w domenie GlassFish.Jak odwoływać się do zasobu plikowego w aplikacji JSF
Chcę dynamicznie odwoływać się do XSD z komponentu bean, jak to możliwe? Dodałem już XSD do projektu, więc znajduje się on gdzieś w domenie GlassFish.Jak odwoływać się do zasobu plikowego w aplikacji JSF
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);
Dziękuję bardzo! Mam go jako InputStream, a następnie byłem w stanie odczytać XSD za pomocą combo BufferedReader-InputStreamReader :) –