Ich habe eine Freemarker-Vorlage, die eine Reihe von Platzhaltern enthält, für die Werte bereitgestellt werden, wenn die Vorlage verarbeitet wird. Ich möchte bedingt Teil der Vorlage enthalten, wenn der Benutzername Variable geliefert wird, so etwas wie:Wie überprüft man, ob eine Variable in einer FreeMarker-Vorlage existiert?
[#if_exists userName]
Hi ${userName}, How are you?
[/#if_exists]
jedoch die Freemarker Handbuch scheint darauf hinzudeuten, dass if_exists veraltet ist, aber ich kann nicht einen anderen Weg, dies zu erreichen finden . Natürlich habe ich einfach könnte eine zusätzliche boolean Variable isUserName Bereitstellung und das, dass wie verwenden:
[#if isUserName]
Hi ${userName}, How are you?
[/#if]
Aber wenn es eine Möglichkeit zu überprüfen, ob Benutzername existiert, dann kann ich das Hinzufügen dieser zusätzlichen Variable vermeiden.
Falls jemand anderes davon abgewiesen wurde, sollte die #if-Syntax von Zeichen umgeben sein, die kleiner als und größer als eckig sind. zum Beispiel: <#if userName ??> – Cameron
Es ist tatsächlich möglich, diese Syntax zu verwenden, also folgte ich nur der Syntax der Frage: siehe http://freemarker.sourceforge.net/docs/dgui_misc_alternativesyntax.html –
Dies nur Überprüfen Sie, ob die Variable existiert. Aber wenn Sie eine leere Zeichenfolge in "userName" haben, wird der <#if userName ??> True zurückgegeben !! Antworten Sie auf dieser Seite unter @ user1546081, um dieses Problem zu beheben. –