我需要在我的java应用程序中进行转换。我无法加载xsl
文件。我正在使用tomcat,路径位置是:
C:/tomcat/webapps/ROOT/WEB-INF/classes/config/myfile.xsl
如果我使用文件加载的完整路径但是如果我使用/config/myfile.xsl
我得到一个FileNotFoundException:
StreamSource xslt = new StreamSource("/config/myfile.xsl");
答案 0 :(得分:2)
您可以使用ServletContext.getResource
来解析相对于webapp的路径,例如
StreamSource xslt = new StreamSource(ctx.getResource(
"/WEB-INF/classes/config/myfile.xsl").toString());
或者,您可以使用getResourceAsStream
并从输入流而不是URL创建StreamSource,但如果您这样做,则样式表中的相对URL将无法解析,因此您无法使用{{ 1}}在XSLT中使用相对URI的函数。