8
我想從一個bean動態引用XSD,這可能如何?我已經將XSD添加到項目中,因此它位於GlassFish域中的某處。如何在JSF應用程序中引用文件資源
我想從一個bean動態引用XSD,這可能如何?我已經將XSD添加到項目中,因此它位於GlassFish域中的某處。如何在JSF應用程序中引用文件資源
使用ExternalContext
。
如果要加載Bean中的資源,通過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,然後我可以通過BufferedReader-InputStreamReader組合來讀取XSD。 – 2009-10-07 21:24:22