我在websphere5下有一个简单的Web应用程序。在appDir\WEB-INF\classes\
下我有这些文件:
main.xslt
templates.xslt
main.xslt
包含指令
<xsl:import href="templates.xsl" />
但在Java代码中使用main.xslt
时应用程序失败。如果它们都在同一文件夹(WEB-INF\classes\
)中,我应该如何指定导入的XSL文件的路径?
例外文本:
java.io.FileNotFoundException:d:\ Program Files \ WebSphere \ AppServer1 \ templates.xsl(系统找不到指定的文件。 )
答案 0 :(得分:4)
您需要提供自定义uri-resolver来处理包含。在Web应用程序中,无法保证文件系统是可访问的,因为您可能正在耗尽WAR文件。请查看javax.xml.transform.URIResolver界面和Transformer.setURIResolver()
答案 1 :(得分:3)
取决于您加载 main.xsl 的方式you may need to set the SystemID
property,以便它可以解析相对路径。