Как присвоить переменную из метода, который может возвращать значение null?

У меня есть следующий код, в котором я присваиваю результат метода Java переменной freemarker.

<#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)

Как я могу избежать этого исключения, не вызывая несколько раз метод findSingleBenchmarkв моем ftl?

8
задан Dave Newton 29 June 2016 в 13:57
поделиться