java - 有人可以解释一下 struts2 XSL ResultType 是如何工作的吗?

标签 java struts2 xslt actionresult

我正在尝试弄清楚如何使用 struts2 XSL ResultType。除了 official documentation 之外,我只是不知道它应该如何工作。 ,我在网上找到了两篇试图解释它的文章(对我来说没有成功)。

我对其工作原理的理解是创建一个 xsl 样式表,然后我有一个 struts 操作设置,它以某种方式返回 xml 文档。该操作将指定的 xsl 样式表应用到 xml 文档,并将所需的 xhtml 输出到浏览器。这是正确的吗?

如果我的理解是正确的,有人可以提供一个清晰、简洁的解释,说明我如何设置操作类以返回可转换的 xml 文档吗?

如果我的理解不正确,有人可以纠正我并解释它应该如何使用吗?

谢谢!

最佳答案

XSLTResult 在内部生成 XML,以便使用给定模板进行后处理。如果您使用实际上不转换任何内容的 XSLT 文件,您将得到原始结果:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="result">
    <xsl:copy-of select="."></xsl:copy-of>
  </xsl:template>
</xsl:stylesheet>

我将这个模板用于所有 XML 结果。如果这对你来说很愚蠢,我必须同意。我在互联网上找到了许多教程,这些教程说您可以从结果定义中删除 location 参数,但这给我带来了以下错误:

javax.xml.transform.TransformerException: Operation not supported. - [unknown location]

关于java - 有人可以解释一下 struts2 XSL ResultType 是如何工作的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970268/

相关文章:

xml - XSLT-2.0 IF 语句/分组

java - MySQL JDBC 连接器转义问题

java - HttpServlet 和 JSP 集成

java - Struts 2.0.14 GET 参数不是 URLEncoded,这是一个错误吗?

java - DynamicJasper 与 Struts 2 集成错误

xslt - 如何通过在 XSLT 中编写单个语句来避免输出中出现所有 namespace

java - 通过子类引用变量访问父类(super class)​​对象

java - maven-shade-plugin ConnectException : Connection refused for getting java. sun.com DTD(由 XMLAppendingTransformer 处理以构建 Apache CXF)

java - 从多重选择中设置多个 javabean 属性

xml - XSLT 中的身份转换