Spring MVC和Backbone jQuery Template冲突

时间:2013-11-08 09:19:05

标签: spring-mvc backbone-views jquery-templates

使用jQuery模板开发Spring MVC和Backbone的应用程序。

我发现了一个奇怪的冲突,因为Spring MVC和jQuery模板都使用相同的语法来表示变量

${ variable }

所以,当我宣布这样的模板时

<script id="appointment-template" type="text/x-jquery-tmpl">
                        <li><a href="#" data-id="${eventId}">${title}</a></li>

Spring MVC将此$ {eventId}视为Spring变量并将其删除,使模板引擎无法应用更改!

如何解决此冲突!

2 个答案:

答案 0 :(得分:0)

通过Spring MVC,我猜你的意思是jspx视图。对于jspx,您可以尝试以下操作,以便在服务器端不解释${variable}

<script id="appointment-template" type="text/x-jquery-tmpl">
  // <![CDATA[
    <li><a href="#" data-id="${eventId}">${title}</a></li>
  // ]]>
</script>

答案 1 :(得分:0)

找到解决问题的方法。

解决方案:

使用任何其他无冲突模式,例如

<script id="appointment-template" type="text/x-jquery-tmpl">
                        <li><a href="#" data-id="@{eventId}">@{title}</a></li>

在支持的js中,用jQuery模式替换模式

var temp = $('#appointment-template').text().replace(/@/g,'$');
var template = $('#appointment-template').text(temp);