Wie überprüfe ich einen Wert aus dem Anfrageattribut in freemarker? Ich habe es mit <#if *${RequestParameters['servicesettings']} ??> versucht, erhalte aber Fehler ->
Erkannte "*" in Zeile
Kann jemand helfen?
Wie überprüfe ich einen Wert aus dem Anfrageattribut in freemarker? Ich habe es mit <#if *${RequestParameters['servicesettings']} ??> versucht, erhalte aber Fehler ->
Erkannte "*" in Zeile
Kann jemand helfen?
Es hängt vom Webanwendungs-Framework ab, da FreeMarker selbst die Anfrageparameter nicht offenlegt. (Nun, außer wenn das Framework freemareker.ext.servlet.FreemarkerServlet
was eine Art Erweiterung von FreeMarker ist). Außerdem sollten Sie normalerweise nicht direkt auf Anfrageparameter aus einer MVC Vorlage oder irgendetwas, das HTTP/Servlet-spezifisch ist.
Was die Fehlermeldung angeht, so hat das, was Sie geschrieben haben, ein paar Syntaxfehler... wahrscheinlich meinten Sie <#if RequestParameters.servicesettings??>
(es ist kein JSP - verwenden Sie nicht ${...}
-s in FreeMarker-Tags). Dies erfordert, dass Sie über RequestParameters
im Datenmodell, das ich nicht mit Sicherheit wissen kann...
Según la JavaDoc des FreemarkerServlet
:
Es macht alle Anforderungen, Anforderungsparameter, Sitzungs- und Servlet-Kontextattribute für Vorlagen durch
Request
,RequestParameters
,Session
yApplication
Variablen.Die Bereichsvariablen sind auch über die automatische Bereichserkennung verfügbar. Das heißt, das Schreiben
Application.attrName
,Session.attrName
,Request.attrName
ist nicht zwingend erforderlich; es reicht, wenn Sie schreibenattrName
und wenn keine solche Variable in der Vorlage erstellt wurde, wird die Variable inRequest
und dann inSession
und schließlich inApplication
.
Sie können einfach schreiben:
${attrName}
um den Wert eines Anfrageattributs zu erhalten (das Sie möglicherweise in einem Servlet-Anfragefilter mit request.setAttribute('attrName', 'value')
Funktioniert bei mir mit Freemarker 2.3.27-incubating
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.