2016-07-31 9 views
1

Kann ich Aussage grails wie unten dargestellt:Mit grails Anweisung innerhalb Script-Tags

<script> 
    var opt = "Frederik"; 
    var check = ${com.mytest.User?.findByName(opt)}; 
</script> 

hier, was ich versuche zu überprüfen, zu tun ist, wenn der Wert in Benutzertabelle gefunden wird, wenn der Wert gefunden wird, Ich möchte Wert auf alle li Elemente in HTML setzen.

Aber die obige Aussage erkennt nicht die opt.

Antwort

5

Ändern Sie bitte Ihre Aussage wie folgt aus:

var check = ${com.mytest.User.findByName(opt) ? true : false}; 

? nicht erforderlich, da User Domain-Klasse nicht null sein kann als die App nicht Bootstrap wird, bis die Klasse fehlt.

Auch Sie brauchen nicht die findBy Abfrage da countBy ausreichend ist nur für die Prüfung:

var check = ${com.mytest.User.countByName(opt) ? true : false}; 
+2

+100000 für findBy/findAllBy -> countBy für Fälle wie diesen. Dies ist eine von vielen, oft kleinen Optimierungen, die sich abhängig von der Nutzung durchaus addieren können, um eine hohe Performance und Skalierbarkeit zu erzielen. –

+0

Danke @BurtBeckwith :) –

Verwandte Themen