Tengo el siguiente código donde asigno el resultado de un método Java a una variable freemarker.¿Cómo puedo asignar una variable de un método que puede devolver nulo?
<#assign singleBenchmark = solverBenchmark.findSingleBenchmark(problemBenchmark)>
El problema es que el valor de retorno del método Java que podría null
. Y a pesar de que puedo comprobar si esa variable no es null
:
<#if !singleBenchmark??>
<td></td>
<#else>
<td>${singleBenchmark.score}</td>
</#if>
Todavía se estrella en la línea <#assign ...>
si ese método Java vuelve null
, con esta excepción:
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)
¿Cómo puedo evitar esta excepción sin tener que llamar al método findSingleBenchmark
varias veces en mi ftl?