Tôi có mã sau đây, trong đó tôi gán kết quả của một phương thức Java cho biến freemarker.Làm cách nào để gán một biến từ một phương thức có thể trả về null?
<#assign singleBenchmark = solverBenchmark.findSingleBenchmark(problemBenchmark)>
Vấn đề là giá trị trả về của phương thức Java đó có thể null
. Và mặc dù tôi kiểm tra xem biến đó không phải là null
:
<#if !singleBenchmark??>
<td></td>
<#else>
<td>${singleBenchmark.score}</td>
</#if>
Nó vẫn còn treo trên dòng <#assign ...>
nếu đó phương thức Java trả null
, với ngoại lệ này:
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)
Làm thế nào tôi có thể tránh ngoại lệ này mà không cần phải gọi phương thức findSingleBenchmark
nhiều lần trong ftl của tôi?