我知道可以通过在XSL中添加名称空间来调用Java方法。是否可以像在Java中那样在不使用getter的情况下访问statics?
java:
package com.package;
public class MyClass {
public static final int myIntThatIUseLotsOfPlacesInJavaAndXSL = 123;
//other methods, etc
XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myclass="com.package.MyClass" exclude-result-prefixes="myclass">
...
<xsl:value-of select="myclass:myIntThatIUseLotsOfPlacesInJavaAndXSL"/>
...
edit:我应该提到我正在使用Xalan,但其他处理器的答案对未来的其他处理器会有所帮助。
它取决于XSLT处理器,例如商业版中的Saxon 9和10支持
<xsl:value-of select="myclass:myIntThatIUseLotsOfPlacesInJavaAndXSL()" xmlns:myclass="java:com.package.MyClass"/>
根据这本书http://cafeconleche.org/books/xmljava/chapters/ch17s03.html不可能直接从Xalan"访问类中的字段",建议设置一个返回字段值的方法。