У меня есть следующий код, в котором я присваиваю результат метода 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?