大于 > 小于 < inside thymeleaf javascript... 错误:元素的内容必须由格式良好的字符数据或标记组成

Posted

技术标签:

【中文标题】大于 > 小于 < inside thymeleaf javascript... 错误:元素的内容必须由格式良好的字符数据或标记组成【英文标题】:Greater than > Less than < inside thymeleaf javascript... Error: The content of elements must consist of well-formed character data or markup 【发布时间】:2015-06-14 22:28:22 【问题描述】:

当我尝试在 thymeleaf javascript 中插入 &lt;&gt; 运算符时出现此错误。

我的代码

<script th:inline="javascript">
    $(document).ready(function () 
        ...
        if(timeRemain < 0)
            ...
        
        ...
        var result = (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds  < 10 ? "0" + seconds : seconds);
        ...         
    );
</script>

错误信息

org.xml.sax.SAXParseException:元素的内容必须由格式良好的字符数据或标记组成。

我该如何解决这个问题?

【问题讨论】:

一般来说,提出和回答您自己的问题是可以的,但是当您提供的信息是right there, very clearly (not remotely hidden away) in the documentation 时,就没有任何目的在 SO 上提出问题/答案。 好吧,尽管您提到没有任何目的,但这个问题已经获得了超过 1k 的观看次数,但很少有人竖起大拇指。我很高兴,因为这篇文章在某种程度上帮助了开发者。 【参考方案1】:

通过将CDATA 添加到script 标记来解决此问题,如下所示

<script th:inline="javascript">
    /*<![CDATA[*/
    ...  
    ...
    ...
    /*]]>*/
</script>

【讨论】:

【参考方案2】:

除了使用 CDATA 之外,您还可以编码 &lt; as &amp;lt;&gt; as &amp;gt;

【讨论】:

谢谢。但我只是累了,它在控制台中给出了这个错误Uncaught SyntaxError: Unexpected token ; 我是这样做的 var result = (hours &amp;gt; 10 ? "0" + hours : hours)... 没有CDATA

以上是关于大于 > 小于 < inside thymeleaf javascript... 错误:元素的内容必须由格式良好的字符数据或标记组成的主要内容,如果未能解决你的问题,请参考以下文章

asp中sql查询语句中大于小于怎么表示

mysql大于号小于号写法

从 appState 中选择 store inside store

如何配置ibatis语句带小于号的

mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)

demo14-大于号和小于号