8
我有以下代码,将Java方法的结果分配给一个freemarker变量。如何从可能返回null的方法分配变量?
<#assign singleBenchmark = solverBenchmark.findSingleBenchmark(problemBenchmark)>
问题是该Java方法的返回值可能是null
。而且即使我检查,如果该变量不null
:
<#if !singleBenchmark??>
<td></td>
<#else>
<td>${singleBenchmark.score}</td>
</#if>
它仍然在<#assign ...>
线崩溃,如果Java方法返回null
,与此异常:
freemarker.core.InvalidReferenceException: Error on line 109, column 45 in index.html.ftl
solverBenchmark.findSingleBenchmark(problemBenchmark) is undefined.
It cannot be assigned to singleBenchmark
at freemarker.core.Assignment.accept(Assignment.java:111)
我怎样才能避免这种异常,而不必在我的ftl中多次调用findSingleBenchmark
方法?