我该如何在Velocity模板中测试给定对象的类?我找不到一个instanceof指令。
虽然没有instanceof操作符,但你可以获取类名并将其作为字符串进行处理:
${myObj.class.name} would return "com.test.MyObj"
${myObj.class.simpleName} would return "MyObj"
在Java中,您可以设置此变量
[VelocityValuesMap].put("TestClass", TestClass.class);
[VelocityValuesMap].put("myObject", myObject);
在速度模板中,您可以这样做
($TestClass.isAssignableFrom($myObj.getClass()))
class.name
对我可行,但是class.simpleName
不行,原因未知。 - Bennett McElwee