我需要在我的Java應用程序中進行轉換。我無法加載xsl
文件。我使用Tomcat的路徑位置是:無法加載xsl文件
C:/tomcat/webapps/ROOT/WEB-INF/classes/config/myfile.xsl
如果我使用的完整路徑文件加載,但如果我用/config/myfile.xsl
我得到一個FileNotFoundException異常:
StreamSource xslt = new StreamSource("/config/myfile.xsl");
我需要在我的Java應用程序中進行轉換。我無法加載xsl
文件。我使用Tomcat的路徑位置是:無法加載xsl文件
C:/tomcat/webapps/ROOT/WEB-INF/classes/config/myfile.xsl
如果我使用的完整路徑文件加載,但如果我用/config/myfile.xsl
我得到一個FileNotFoundException異常:
StreamSource xslt = new StreamSource("/config/myfile.xsl");
您可以使用ServletContext.getResource
解決相對於Web應用程序,如路徑
StreamSource xslt = new StreamSource(ctx.getResource(
"/WEB-INF/classes/config/myfile.xsl").toString());
或者您可以使用getResourceAsStream
並創建從輸入流,而不是一個URL的StreamSource的,但如果你這樣做,你的樣式表中則相對URL不會解決,所以你不能使用document
功能在XSLT中使用相對URI。
此電子表格是您的web應用程序的資源?如果是這樣,您不應該嘗試將其作爲文件讀取。而是將其作爲資源閱讀。 – Raedwald
在Unix路徑名中,前導斜槓具有特殊含義。 – Raedwald
@Raedwald它是一個'xsl'文件,不是一個excel文件。 – user86834