Übergeben Sie eine Groovy-Liste korrekt an Javascript-Code in GSP

Ich mache eine Webanwendung mit Grails. Ich habe eine Liste mit Daten, die in JavaScript enthalten sein müssen, damit sie dynamisch geladen werden können<select> Drop-List. Grundsätzlich bekomme ich eine zweistufige Liste vom Server, dann wird die erste Ebene in einer Dropbox angezeigt. Wenn der Benutzer eine Option auswählt, wird die mit dieser Option verknüpfte Liste in einem anderen Dropdown-Feld angezeigt.

Der (vereinfachte) Code auf der gsp-Seite für die JavaScript-Funktion lautet wie folgt

function selecTipe() {
        var types = ${typeList}
        alert('List of types ' + types )

Das Problem ist, dass, wenn typeList (in Groovy) als definiert ist

typeList = [['TYPE1', ['VAR1','VAR2','VAR3']], 
            ['TYPE2', ['VAR1','VAR2','VAR3']]
            ['TYPE3', ['VAR1','VAR2','VAR3']] ]

Wenn die Seite gerendert wird, sieht der JavaScript-Code wie folgt aus

function selecTipe() {
        var types = [[ TYPE1, [ VAR1, VAR2, VAR3 ]], 
                     [ TYPE2, [ VAR1, VAR2, VAR3 ]]
                     [ TYPE3, [ VAR1, VAR2, VAR3 ]] ]
        alert('List of types ' + types )

was irrtümlich ist, da JavaScript dann nicht als Strings, sondern als Referenzen aufgrund fehlender Anführungszeichen behandelt.

Gibt es eine Möglichkeit, Groovy zu zwingen, eine Liste von Arrays mit Anführungszeichen zu drucken, oder eine andere einfache Möglichkeit, dies zu erreichen?

PD: Ich kann eine bestimmte Funktion erstellen, um dies zu erreichen, aber ich denke, es sollte ein einfacher Weg sein, dies zu tun ...

BEARBEITEN: Ich habe die komplette Datenstruktur hinzugefügt, da sie etwas komplexer ist als eine einfache Liste

Antworten auf die Frage(1)

Ihre Antwort auf die Frage