W szablonie freemarker Chcę poszerzyć zmienną logiczną na ciąg tak:Rozwiń zmienną logiczną do napisu „true” lub „false”
<#assign booleanVar = "test".isEmpty() />
state: ${booleanVar} <#-- this throws an exception! -->
To jest to, co chcę dostać jako wyjście :
state: false
jedynym sposobem znalazłem się osiągnąć ten cel już jest:
state: <#if booleanVar>true<#else>false</#if>
Czy istnieje łatwiejszy sposób to zrobić?
Jeśli to zrobię, otrzymam: "freemarker.core.InvalidReferenceException: wyrażenie booleanVar $ string jest niezdefiniowane". – tangens
Ponownie przeczytam ten link ... Zmieniono $ na? w przykładzie. Nie wiem, freemarker :) – tsilb
Począwszy od FreeMarker 2.3.20, powinieneś użyć '$ {booleanVar? C}'. Napisanie '$ {booleanVar? String}' jest niebezpieczne, ponieważ domyślny format może zostać zmieniony. Zobacz moją odpowiedź, aby uzyskać więcej informacji. – ddekany