java - 使用 JAX-WS 和 Glassfish v3 的 XSL 样式表 URI

标签 java xslt glassfish jax-ws

我正在尝试使用 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/

相关文章:

validation - 在 XSLT Ant 任务中使用 Saxon 时是否可以禁用验证?

html - XSLT 如何检查 XML 节点是否存在?

java - 如何在 Hibernate 中建立零对多关系

java - Gson 中的 @Until 注释未按预期工作

java - 从 Java 中的 XML 中删除命名空间

xml - 使用 XSL 将 XML 节点替换为新节点

java - 如何终止 JSF 中 Java 方法或 Java 类的运行 (PrimeFaces 3.0)

java - 一次性将多个 Java Web 应用程序部署到 Glassfish

glassfish - Glassfish 配置文件夹中的 "keyfile"有什么用?

java - 如何返回 Kadane 算法中的最大子数组?