#{if adsonuiAssetList.size()>0}
#{list items:adsonuiAssetList, as:'adsonui'}
<div class="imageElement">
<h3>Asset : ${adsonui?.productname}(${adsonui?.AssetId}) Advertiser : ${adsonui?.campaign.advertiser.contact_person}(${adsonui?.campaign.advertiser.id})</h3>
<p></p>
<a href="@{Assets.showAssetDetails()}?assetid=${adsonui?.AssetId}" title="${adsonui?.productname}" class="open"></a>
<img src="@{Assets.getAssetFileForSlideShow(adsonui?.AssetId,adsonui?.campaign?.mode_of_advertisement,870,240)}" alt="${adsonui?.productname}" class="full" />
<img src="@{Assets.getAssetFileForSlideShow(adsonui?.AssetId,adsonui?.campaign?.mode_of_advertisement,150,150)}" alt="${adsonui?.productname}" class="thumbnail" />
</div>
#{/list}
#{/if}
任何人都可以解释$ {adsonui?.productname}将会是什么?。请为我做新的groovy和播放框架pelase告诉我它究竟在做什么。
答案 0 :(得分:1)
${adsonui?.productname}
不为空, adsonui.productname
将返回adsonui
。
如果它为空,则为null
。
答案 1 :(得分:1)
?在foo为空的情况下,可以避免NPE异常。
参见axample - 第一个println为null,第二个失败
def foo
println foo?.bar
null
println foo.bar
Caught: java.lang.NullPointerException: Cannot get property 'bar' on null object
即。你不需要测试foo是否为null并决定你是否可以引用bar