Ich muss eine Javascript-Funktion für die Thymeleaf-Vorlage aufrufen, etwa so:
Fall 1:
<select th:onclick="${'function1('a')'}">
Aber in diesem Fall funktioniert das Thymeleaf nicht. Vor einigen Recherchen (einschließlich Stackoverflow) bekomme ich die folgenden “Lösungen”:
Fall 2:
<select th:onclick="${'function1(''a'')'}">
Fall 3:
<select th:onclick="${'function1(\'a\')'}">
Fall 4:
<select th:onclick="${'function1(\''+'a'+'\')'}">
Aber in allen Fällen erhalte ich den gleichen Fehler: “…Ausnahme beim Auswerten des SpringEL-Ausdrucks…”
Mein Problem betrifft Javascript-Aufrufe. Ich muss einige Parameter $ {var} für den Aufruf in die js-Funktion einfügen. Wie kann ich das beheben?
Vielen Dank
Wenn Sie keine dynamischen Variablen im JS-Funktionsaufruf benötigen, gehen Sie wie folgt vor:
th:onclick="'alert(\'a\');'"
Dadurch werden die einfachen Anführungszeichen einfach umgangen und es wird kein SpringEL benötigt (natürlich könnten Sie in diesem Fall auf das Thymeleaf-Attribut verzichten und einfach onclick verwenden).
Um vars darin einzufügen:
th:onclick="'alert(\'' + ${myVar} + '\');'"
Ich habe die Alarmfunktion verwendet, damit ich es ausprobieren und beweisen kann, dass es funktioniert. Ich hoffe, das hilft.
Danke, dieses Konzept funktioniert für mich, ich habe verwendet: th:attr=”onchange=’javascript:addAttr(\”+${poi.id}+’\’, this.value)'”
– f4root
24. Oktober 2014 um 8:55 Uhr
Sie müssen die Javascript-Funktion wie unten erwähnt aufrufen.
Eine Möglichkeit besteht darin, die Zeichen zu verwenden [[' y ']].
Zum Beispiel werde ich den Inhalt der Variable „startDate“ zeigen, die ein Datumstyp und die Formatierung im Format ist dd/MM/yyyy HH:mm:ss' mit der ‘Alarm’-Funktion anzuzeigen.