2011-03-03 46 views
0

通過XSL訪問Java方法時出現問題。我有一個Java類DirectoryReader.java,其中有一個靜態方法totalPhotos,它返回一個int。在我的XSL我已經定義了一個命名空間:xmlns:dirReader="xalan://com.mngi.eidos.util.DirectoryReader,我試圖訪問totalPhotos方法,如:通過XSLT-1.0訪問Java方法時出現問題

<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

回答

2

無論哪種方法totalPhotos必須是靜態的,或者你必須首先創建類的實例,並傳遞作爲第一個參數呼叫。

<xsl:variable name="dr" select="dirReader:new(....)"/> 
<xsl:variable name="totalPhotos" select="dirReader:totalPhotos($dr,$PhotoPath)"/> 

調整dirReader構造函數的參數,以你的情況