5 Stimmen

Abrufen von Anfrageattributen in Freemarker

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?

2voto

ddekany Punkte 27460

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...

1voto

praveen Punkte 11

Wir sollten das so schreiben:

${Request.requestattribute}

1voto

venky Punkte 390

Sie können verwenden

${requestParameters.servicesettings}.

1voto

viviansteller Punkte 85

Según la JavaDoc des FreemarkerServlet :

Es macht alle Anforderungen, Anforderungsparameter, Sitzungs- und Servlet-Kontextattribute für Vorlagen durch Request , RequestParameters , Session y Application 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 schreiben attrName und wenn keine solche Variable in der Vorlage erstellt wurde, wird die Variable in Request und dann in Session und schließlich in Application .

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.com

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.

Powered by:

X