jQuery tmpl und JSP-Code nicht gut spielen

8

Ich habe die jQuery tmpl Bibliothek für einige Projekte verwendet und mag sie wirklich.

Ich benutze es nicht für ein kleines Projekt, das in JSP sein muss, und die Dinge wurden merkwürdig. Es funktioniert nicht vollständig.

%Vor%

Ich habe versucht zu verstehen, warum keine Daten auftauchten. Es stellt sich heraus, dass auf der Seite, die wie ${foo} aussieht, eine Art von Syntaxanalyse stattfindet. Wenn ich also die Quelle auf meiner Seite anschaue, wurden alle diese Elemente wie folgt ersetzt:

%Vor%

Was immer noch als Vorlage verwendet werden kann, aber jQuery tmpl kann seine Aufgabe nicht erfüllen. Ich bekomme viele leere Zeilen.

Die Syntax entspricht einer Dokumentation, die ich für JSTL gefunden habe. Aber ich habe das nicht installiert. Ich entwickle am Lager, aktuelles Tomcat auf Windows 7 und baue eine App in meinem Webapps / Ordner von Grund auf neu. Ich habe nicht, das kann ich sagen, habe so etwas aktiviert, und ich bin überrascht, dass bare ${} geparst wird (im Gegensatz zu Dingen wie <%= %> , die häufiger von PHP oder ASP und ähnlich.

Also meine Frage: Wie deaktiviere ich dieses Parsing-Verhalten für meine jQuery-tmpl-Templates? Global, lokal zu der einzelnen JSP, oder fliehe es aus (ich habe extra geschweifte Klammern ausprobiert, habe Backslashes ausprobiert, habe verschiedene Anführungszeichen ausprobiert). Ich denke Idealerweise würde es so etwas wie:

geben %Vor%

Jede Hilfe oder Ideen sind willkommen. Danke!

    
artlung 17.06.2011, 00:14
quelle

5 Antworten

14

Die ${} -Notation ist Ausdrucksprache . Sie können es auf einer Pro-JSP-Basis mit

deaktivieren %Vor%

Oder auf einer anwendungsweiten Basis in web.xml :

%Vor%

Oder wenn Sie EL an anderer Stelle in der JSP verwenden möchten, müssen Sie nur die in jQuery template um \ ersetzen. Sie möchten die alten Scriptlets wirklich vermeiden.

%Vor%

Oder Sie könnten einfach den gesamten JS-Code in eine eigene JS-Datei löschen (falls von jQuery tmpl unterstützt).

    
BalusC 17.06.2011, 00:18
quelle
6

Ausschalten EL ist nicht ratsam, wenn die Jsp-Seite andere el haben, und wie gehst du damit um, Du kannst es so machen:

%Vor%

Hinweis: Es gibt einen Platz im El,

    
user1688266 28.11.2012 02:30
quelle
5

Verwenden Sie in jQuery-Vorlagen {{= variable_name}} anstelle von ${variable_name} .

Ссылка

    
Anonymous 03.10.2011 01:23
quelle
2

Sie können Ihr "$" vor JSP schützen, indem Sie mit einem Backslash quotieren.

In JSP wird das Konstrukt "$ {}" verwendet, um ein Expression Language ("EL") - Konstrukt einzuführen. Wenn beispielsweise ein Anforderungsattribut mit dem Namen "firstName" vorhanden ist, können Sie den ersten Namen mit:

abrufen %Vor%

Die Verwendung der Ausdruckssprache ist meiner Meinung nach ungefähr eine Milliarde Mal besser als die Verwendung dieser scheußlichen "Scriptlet" -Syntax (die "& lt;%" -Sache). Die Seiten sind viel, viel sauberer und es gibt weit weniger Probleme mit dem Debuggen. Ich habe den Verdacht, dass es dort draußen eine ganze Menge wirklich alter JSP-Lehrbücher und Lehrbücher gibt, denn JSTL und die EL gibt es schon seit vielen Jahren.

    
Pointy 17.06.2011 00:16
quelle
0

Wenn Sie nicht all Ihren jQuery-Tags entkommen wollen, können Sie eine separate JSP mit all Ihren jQuery-Skripten erstellen und diese einzigartige JSP mit folgenden Elementen schützen:

<%@page isELIgnored="true" %>

Dann können Sie diese JSP bei Bedarf einfügen.

    
Erwin Julius 02.04.2012 18:06
quelle

Tags und Links