2013-06-19 153 views
1

我需要在我的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"); 
+1

此電子表格是您的web應用程序的資源?如果是這樣,您不應該嘗試將其作爲文件讀取。而是將其作爲資源閱讀。 – Raedwald

+0

在Unix路徑名中,前導斜槓具有特殊含義。 – Raedwald

+0

@Raedwald它是一個'xsl'文件,不是一個excel文件。 – user86834

回答

2

您可以使用ServletContext.getResource解決相對於Web應用程序,如路徑

StreamSource xslt = new StreamSource(ctx.getResource(
    "/WEB-INF/classes/config/myfile.xsl").toString()); 

或者您可以使用getResourceAsStream並創建從輸入流,而不是一個URL的StreamSource的,但如果你這樣做,你的樣式表中則相對URL不會解決,所以你不能使用document功能在XSLT中使用相對URI。

+0

謝謝,'ctx'從哪裏來? – user86834

+0

感謝.. – user86834