Jak obsługiwać null
wartości w Freemarker? W szablonie null
pojawiają się wyjątki, gdy wartości są obecne w danych.
freemarker
Anand B.
źródło
źródło
Odpowiedzi:
Możesz użyć
??
operatora testu:Sprawdza, czy atrybut obiektu nie jest pusty:
Sprawdza, czy obiekt lub atrybut nie jest pusty:
Źródło: Podręcznik FreeMarker
źródło
has_content
, obok sprawdzania wartości null, sprawdza również, czy wartość nie jest pusta. Działa to w przypadku ciągów, sekwencji, skrótów lub kolekcji. Jeśli obiekt jest datą, wartością logiczną lub liczbą, to zachowuje się jak niepusty. W przypadku wszystkich innych typów będzie działać jako pusty.Począwszy od freemarker 2.3.7, możesz użyć następującej składni :
lub, jeśli chcesz wyświetlić domyślny tekst, gdy atrybut to
null
:źródło
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.22</version></dependency>
do twojego pom.xml.${(object.dateAcquired?date)!"not present"}
${salutation!'Dear Mr. or Mrs.'}
Myślę, że to działa w drugą stronę
Jeśli
object.attribute
NIE jest NULL, zawartość zostanie wydrukowana.źródło
Użyj
??
operatora na końcu<#if>
wyciągu.Ten przykład pokazuje, jak obsługiwać
null
wartości dla dwóch list w szablonie Freemaker.źródło
Jeśli masz wiele zmiennych do konwersji na opcjonalne, możesz użyć SubimeText z tym:
Upewnij się, że są włączone opcje wyrażeń regularnych i wielkości liter:
źródło