从XSLT调用Java布尔函数

时间:2014-05-29 11:20:19

标签: java xslt

我正在从XSLT调用静态Java函数,如下所示:

<xsl:template name="has-special-characters">
    <xsl:param name="input"/>

    <xsl:value-of select="java:com.whatever.utils.PdfTemplatingUtils.hasSpecialCharacters($input)"/>
</xsl:template>

这没关系并且有效。

现在,我正在调用的java函数返回一个布尔值。如何在XSLT中测试该布尔值? XSLT会将其视为字符串吗?我可以改变我正在调用的函数的返回类型,但让它返回一个布尔值,而不是一个String或一个int是有意义的。

谢谢!

1 个答案:

答案 0 :(得分:1)

在XSLT / XPath中处理Java布尔值很可能也有一个布尔值,所以你应该可以使用例如<xsl:if test="java:foo.bar.myFunc()">...</xsl:if>。但这一切都取决于您使用的XSLT处理器。因此,找出您使用的XSLT处理器,并查看有关Java和XSLT / XPath类型如何映射的文档。