百里香叶无法解析html文件,我希望在backbonejs视图中使用模板并提供以下错误消息:
org.xml.sax.SAXParseException:元素的内容必须包含 格式良好的字符数据或标记。
导致问题的html代码:
<!-- models -->
<script type="text/template" id="template_slider">
<div class="panel panel-primary">
<div class="panel-heading">
<h4 class="panel-title"><%= panel_title %></h4>
</div>
<div class="panel-body">
<input id="<%= id %>" data-slider-id="<%= slider_id %>" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="0.01" data-slider-value="0" />
</div>
</div>
</script>
问题的解决方案很简单,只需使用匹配的结束标记/*<![CDATA[*/
/*]]>*/
,但是这会使主干失败,当我想创建新视图时抛出以下错误消息
未捕获的ReferenceError:未定义panel_title(匿名函数)@ VM2747:6template @ underscore.js:1461access @jquery.js:3626jQuery.fn.extend.html @jquery.js:5486Backbone.View.extend.render @ map .Control.js:92Backbone.View.extend.initialize @ map.Control.js:83Backbone.View @ backbone.js:1224child @ backbone.js:1884(anonymous function)@ map.Control.js:96o.Mixin.Events .fireEvent @ leaflet.js:6o.Path.o.Path.extend._fireMouseEvent @ leaflet.js:7o.Path.o.Path.extend._onMouseClick @ leaflet.js:7t。(匿名函数).s @ leaflet。 JS:8
有问题的js脚本:
polyline.addEventListener('click', function() {
var SliderView = Backbone.View.extend({
initialize: function() {
this.render();
},
render : function(){
var variables = {
panel_title : "Random",
id : "my_id",
slider_id : "my_idSlider"
};
var template = _.template( $("#template_slider").html(), variables );
this.$el.html(template);
}
});
var slider_view = new SliderView({ el: $("#slider_container")});
});
我在没有弹簧和百里香的情况下离线尝试了js代码正常工作。
答案 0 :(得分:2)
您必须将Thymaleaf配置为在HTML5Legacy模式下解析。
由于我不知道你是如何使用thymaleaf的,所以我无法为你提供工作代码。
您通常可以在配置文件中执行此操作,也可以通过注入视图配置器来执行此操作...