Ich habe den folgenden Code, wo ich das Ergebnis einer Java-Methode zu einer Freimarker-Variable zuweisen.Wie kann ich eine Variable aus einer Methode zuweisen, die möglicherweise null zurückgibt?
<#assign singleBenchmark = solverBenchmark.findSingleBenchmark(problemBenchmark)>
Das Problem ist, dass Rückgabewert dieser Java-Methode könnte null
. Und auch wenn ich überprüfen, ob diese Variable nicht null
ist:
<#if !singleBenchmark??>
<td></td>
<#else>
<td>${singleBenchmark.score}</td>
</#if>
Es ist immer noch auf der <#assign ...>
Linie stürzt ab, wenn das Java-Methode null
zurückgibt, mit dieser Ausnahme:
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)
Wie kann ich Vermeiden Sie diese Ausnahme, ohne die Methode findSingleBenchmark
mehrfach in meinem ftl aufrufen zu müssen?