在 Spring MVC 中使用 AXSLT 组件

Posted

技术标签:

【中文标题】在 Spring MVC 中使用 AXSLT 组件【英文标题】:Using AXSLT Components in Spring MVC 【发布时间】:2010-11-04 08:46:04 【问题描述】:

我不久前编写了一个 Java 应用程序,该应用程序使用 Xalan 使用 XSLT 处理 XML。现在我正努力迈向春天。

我在访问组件时遇到了问题。据我所知,我的 XML、XSLT 和 Java 对象是正确的,但 Spring 似乎无法找到和引用我想要访问的组件。

...
<axslt:component prefix="oni" functions="say">
    <axslt:script lang="javaclass" src="xslt.components.TestComponent" />
</axslt:component>
...

我也尝试过使用 javascript 组件(使用 bsf.jar 和 js.jar),但也失败了。

...
<axslt:component prefix="js" functions="say">
    <xalan:script lang="javascript">
        function say()  return "Hello from JavaScript"; 
    </xalan:script>
</axslt:component>
...

我一直收到此错误:

javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
    com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(Unknown Source)
    org.springframework.web.servlet.view.xslt.XsltView.loadTemplates(XsltView.java:417)
    ...

我在网上查了一下,没有找到很多内容。 Spring+XSLT 似乎不是一个很突出的话题。关于 Spring 中我需要配置的东西,或者我需要扩展的东西有什么建议吗?

【问题讨论】:

什么是 AXSLT?我知道 Spring 和 XSLT,但不是这个... AXSLT 是一个允许将组件添加到模板的标签。请看:developer.com/tech/article.php/629071 【参考方案1】:

Spring 的 XsltView 类的源代码是免费提供的。我建议阅读它以了解它如何使用 XSLT API,并将其与您自己的代码的实现方式进行比较。

【讨论】:

以上是关于在 Spring MVC 中使用 AXSLT 组件的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC源码 ----- 启动过程与组件初始化

Spring MVC

Spring MVC各组件近距离接触--中--03

Spring MVC各组件近距离接触--下下--05

Spring MVC可重用视图组件[重复]

Spring MVC