Thymeleaf and inline scripts SAXParseException

元气小坏坏 提交于 2019-12-29 07:01:03

问题


I got a page which uses thymeleaf template, and I'm getting the following error on page load when using inline scripts:

org.xml.sax.SAXParseException; lineNumber: 270; columnNumber: 85; The content of elements must consist of well-formed character data or markup.

Code at line 270

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

I have tried replacing "<", ">" symbols from document.write with &lt; &gt;, the exception doesn't occur anymore but the script is not loaded anymore


回答1:


You need to add CDATA tags for the script like this:

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

The tags are telling thymeleaf's xml parser that the code between should not be interpreted as XML markup.

This is no longer necessary since Thymeleaf 3.0



来源:https://stackoverflow.com/questions/22985898/thymeleaf-and-inline-scripts-saxparseexception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!