我正在从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是有意义的。
谢谢!
答案 0 :(得分:1)
在XSLT / XPath中处理Java布尔值很可能也有一个布尔值,所以你应该可以使用例如<xsl:if test="java:foo.bar.myFunc()">...</xsl:if>
。但这一切都取决于您使用的XSLT处理器。因此,找出您使用的XSLT处理器,并查看有关Java和XSLT / XPath类型如何映射的文档。