Grails会干扰jquery-tmpl语法

时间:2010-10-06 22:40:21

标签: jquery grails gsp jquery-templates

jQuery模板插件使用${foo}语法(example in jquery.tmpl doc):

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

但Grails也使用它(example in Grails doc):

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

因此,当我在.gsp中添加$.tmpl( "<li>${Name}</li>", myData )时,Grails会将其呈现为$.tmpl( "<li></li>", myData );

有一个简单的方法吗?

4 个答案:

答案 0 :(得分:6)

使用alt语法:{{= Name}}

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

答案 1 :(得分:2)

我只涉及Grails,但有一个选项可以获得文字输出:

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

答案 2 :(得分:0)

您可以尝试使用jquery.noConflict或jQuery本身:

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

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

答案 3 :(得分:0)

为避免冲突,您应该使用zack提到的语法。 但是,使用此标记时要小心:

{{= Name}}

你应该在“=”和变量的第一个字母之间留出空格。

{{=名称}}

{{=姓名}}

示例:
  的 WRONG

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

enter image description here

从右

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

enter image description here