我有一个Map,其键和值以及自定义类。密钥类名为Position
,并使用两个int进行实例化(例如new Position(2, 4)
。
我摆脱了这个Position类,并将地图转换为SimpleHash
,以便与Freemarker一起使用。我现在有一个SimpleHash
,其键是字符串重新映射位置值(例如"2 4"
),其值为null
或Lot
(自定义)类。
在模板中,我需要检查SimpleMap中给定项的值(作为map
传递)是否为null或Lot实例。
<#list mapMinY..mapMaxY as y>
<tr>
<#list mapMinX..mapMaxX as x>
<td>
<div>
<!-- Check if map[x + " " + y] is null -->
${x}, ${y}
</div>
</td>
</#list>
</tr>
</#list>
怎么做?
答案 0 :(得分:8)
使用??
运算符。
<#if map[x + " " + y]??>It's not null<#else>It's null or missing</#if>
答案 1 :(得分:1)
因为当涉及到空值时,freemarker有点奇怪,有两种方法可以解决它。 1.将其作为缺失值:
${map[x + " " + y]!}
do Stuff
${map[x + " " + y]!}
2.只需将支票转换为真/假支票。 这可以通过使用带有isNull(Object obj)函数的实用程序类来完成。
utilClass.isNull(map[x + " " + y])==true