FreeMarker检查对象的类名

时间:2017-01-10 15:36:44

标签: freemarker

有没有办法在freemarker模板中获取对象的类名?

例如:

<#if component.javaType.class.name.equals("test")  > 
 "something...."
</#else>
 "something else ...."
</#if>

谢谢

1 个答案:

答案 0 :(得分:2)

没有内置功能,但根据配置设置和对象类型,这可能有效:

<#if component.class.name == 'com.example.Something'>

这是有效的,因为component.foo在Java中只是意味着comonent.getFoo(),所以上面只是component.getClass().getName()。但是,如果component的JavaBean属性未公开,则这不起作用(假设通常的FreeMarker配置)是String - s的情况,{{1} } -s,Number - s,Map - s和更多&#34;标准&#34;类。如果List可以是这样的对象,但无论如何比较都应该是假的,你可以写component