通过XSL访问Java方法时遇到的问题。我有一个带有静态方法totalPhotos的java类DirectoryReader.java,它返回一个int。在我的XSL中,我定义了一个命名空间:xmlns:dirReader="xalan://com.mngi.eidos.util.DirectoryReader
,我试图访问totalPhotos方法,如:
<xsl:variable name="totalPhotos" select="dirReader:totalPhotos($PhotoPath)"/>
有人可以告诉我我的做法有什么问题吗?
我仍然收到以下错误
ERROR: 'The first argument to the non-static Java function 'totalPhotos' is not a valid object reference
答案 0 :(得分:2)
方法totalPhotos
必须是静态的,或者您必须首先创建类的实例并将其作为调用的第一个参数传递。
<xsl:variable name="dr" select="dirReader:new(....)"/>
<xsl:variable name="totalPhotos" select="dirReader:totalPhotos($dr,$PhotoPath)"/>
根据您的情况调整dirReader构造函数参数