Grails мешает синтаксису jquery-tmpl - PullRequest
3 голосов
/ 07 октября 2010

Плагин шаблонов jQuery использует синтаксис ${foo} ( пример в jquery.tmpl doc ):

$.tmpl( "<li>${Name}</li>", myData )

Но Grails также использует его ( пример в Grails doc ):

<body>
  Hello ${params.name}
</body>

Поэтому, когда я включаю $.tmpl( "<li>${Name}</li>", myData ) в мой .gsp, Grails отображает его как $.tmpl( "<li></li>", myData );.

Есть ли простой способ обойти это?

Ответы [ 4 ]

6 голосов
/ 13 октября 2010

использовать синтаксис alt: {{= Name}}

http://api.jquery.com/template-tag-equal/

2 голосов
/ 07 октября 2010

Я только баловался с Grails, но один вариант получить буквальный вывод:

$.tmpl("<li><%='${Name}'%></li>", myData)
0 голосов
/ 07 мая 2013

Чтобы избежать конфликта, вы должны использовать синтаксис, указанный zack. Однако будьте осторожны при использовании этого тега:

{{= Name}}

вы должны иметь пробел между "=" и первой буквой переменной.

{{= Name}}

{{= Name}}

ПРИМЕР:
НЕВЕРНО

<tr id="ad{{=idmatchingtem }}"></tr>

enter image description here

RIGHT

<tr id="ad{{= idmatchingtem }}"></tr>

enter image description here

0 голосов
/ 12 октября 2010

Вы можете попробовать использовать jquery.noConflict или сам jQuery:

jQuery.tmpl( "<li>${Name}</li>", myData )

или

var jqc = jQuery.noConflict();
jqc.tmpl( "<li>${Name}</li>", myData )
...