次のコードがあり、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でメソッドを複数回呼び出すことなく、この例外を回避するにはどうすればよいですか?