我想从Xpand模板(例如静态方法)调用任意Java方法。我怎么能这样做?
答案 0 :(得分:3)
您需要在模板中为Java方法创建映射。这篇优秀的文章详细解释了这个过程http://pettergraff.blogspot.de/2009/11/how-to-write-extension-in-xtend-for.html
示例:
CalledJavaCode.java
package template;
public class CalledJavaCode {
public static String evaluate(Object o) {
return "some evaluation";
}
}
<强> Template.xpt 强>
//Xtend mapping for Java in template file
String eval(Object this) : JAVA
template.CalledJavaCode.evaluate(java.lang.Object);
// Template.xpt usage of mapping
«FOREACH attribute AS a»
«eval(a)»
«ENDFOREACH»