我正在尝试使用 XSL 样式表将一些生成的 XML 数据转换为 HTML 输出。我使用的架构如下:[客户端] Web 浏览器 => [服务器端:Glassfish v3] JSP 页面 -> Web 服务。我的 Web 服务生成一些 XML 数据,然后我想使用 XSL 样式表对其进行格式化,将结果传递到 JSP 页面并显示给用户。我正在使用 JAXP 进行 XSL 转换,并且我想创建一个 javax.xml.transform.stream.StreamSource
具有 javax.xml.transform.Transformer
的 XSL 文件流的对象对象,但我在指定 XSL 文件的路径/URL 时遇到困难。
所以问题是:我应该将 XSL 样式表放在项目中的什么位置以及如何从代码中访问它们?我正在使用 Glassfish v3 和 NetBeans 6.8。
谢谢。
最佳答案
这里的关键点是您应该在内存中执行 XSLT 过程,其中转换是通过 Web 服务输出上的 DOMSource 完成的。
一个典型的场景是将 XSLT 文件放置在类路径中,并通过类加载器 (getResourceAsStream) 加载它们,这可以在 StreamSource 中使用。更有效的方法是创建一个模板对象(预编译的 XSLT),该对象可以在程序开始时完成,预先捕获任何语法错误。
关于java - 使用 JAX-WS 和 Glassfish v3 的 XSL 样式表 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613612/