FreeMarker hat nichts mit Webcontainern zu tun, das heißt, es kennt weder Servlets noch HTTP, wenn es im Web ausgeführt wird. Es kann nicht nur als Implementierungstechnologie für die Präsentationsschicht verwendet werden, sondern auch zum Generieren von XML, JSP oder Java usw.
Um ein Objekt in Freemarker anzuzeigen, verwenden Sie ${name}.
Aber wenn der Name null ist, meldet Freemarker einen Fehler. Wenn Sie feststellen müssen, ob das Objekt leer ist:
<#if name??> …… </#if>
Natürlich können Sie den Fehler, dass das Objekt leer ist, auch vermeiden, indem Sie den Standardwert ${name!''} festlegen. Wenn der Name leer ist, wird der Standardwert (Zeichen nach „!“) angezeigt.
Wenn das Objekt Benutzer und Name Attribute des Benutzers sind, können sowohl Benutzer als auch Name leer sein, dann kann es als ${(user.name)!''} geschrieben werden, was bedeutet, dass sowohl Benutzer als auch Name null sind wird als leer angezeigt.
Als leer beurteilt
<#if (user.name)??> …… </#if>
Methode 2:
Bei einem Null- oder Fehlwert meldet Freemarker einen Fehler
!: Standardwertoperator, die Syntaxstruktur ist: unsafe_expr!default_expr, z. B. ${mouse!"Keine Maus."} Wenn die Maus nicht vorhanden ist, geben Sie den Standardwert zurück;
(product.color)!"red" Diese Methode kann die Situation behandeln, in der Produkt oder Farbe ein fehlender Wert ist;
Und product.color!"red" behandelt nur den Fall, in dem die Farbe ein fehlender Wert ist
??: Prüfoperator für fehlende Werte, testet, ob ein Wert fehlt
unsafe_expr??: product.color?? testet nur, ob die Farbe null ist
(unsafe_expr)??: (product.color)?? testet, ob Produkt und Farbe null sind
?exists:Verwendung der alten Version
Zum Beispiel:
<#if mouse??> Mouse found <#else> No mouse found </#if> Creating mouse... <#assign mouse = "Jerry"> <#if mouse??> Mouse found <#else> No mouse found </#if>