Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ThymileAF和内联脚本SAXParseException_Javascript_Thymeleaf_Cdata - Fatal编程技术网

Javascript ThymileAF和内联脚本SAXParseException

Javascript ThymileAF和内联脚本SAXParseException,javascript,thymeleaf,cdata,Javascript,Thymeleaf,Cdata,我得到了一个使用thymeleaf模板的页面,在使用内联脚本时,页面加载出现以下错误: org.xml.sax.SAXParseException;行号:270;栏目号:85;这个 元素的内容必须由格式良好的字符数据或 标记 代码在第270行 <script type="text/javascript" > window.jQuery || document.write("<script src='assets/js/jquery-2.0.3.min.js'>"+

我得到了一个使用thymeleaf模板的页面,在使用内联脚本时,页面加载出现以下错误:

org.xml.sax.SAXParseException;行号:270;栏目号:85;这个 元素的内容必须由格式良好的字符数据或 标记

代码在第270行

<script type="text/javascript" >
    window.jQuery || document.write("<script src='assets/js/jquery-2.0.3.min.js'>"+"<"+"/script>");
</script>

window.jQuery | | document.write(“+”);

我已尝试将document.write中的“”符号替换为
,该异常不再发生,但脚本不再加载

您需要为脚本添加CDATA标记,如下所示:

<script type="text/javascript">
    //<![CDATA[
     window.jQuery || document.write("<script src='assets/js/jquery-2.0.3.min.js'>"+"<"+"/script>");
    //]]>
</script>

//
这些标记告诉thymeleaf的xml解析器之间的代码不应该被解释为xml标记


这不再是必需的,因为Thymeleaf 3.0

有关更多信息,[Thymeleaf模板引擎解析调整]()可能会有所帮助。它可以工作。花了很多时间才弄明白。谢谢。是的,这适用于1.5.2!此问题已在2.0.0.BUILD-SNAPSHOT中解决。希望他们能尽快发布2.0。作为一个更新,Thymeleaf 3.x使用了AttoParser,CDATA不再需要,只要您不想根据xml验证标记。