大于 > 小于 < 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 中插入 <
或 >
运算符时出现此错误。
我的代码
<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 之外,您还可以编码 < as &lt;
和 > as &gt;
【讨论】:
谢谢。但我只是累了,它在控制台中给出了这个错误Uncaught SyntaxError: Unexpected token ;
。
我是这样做的 var result = (hours &gt; 10 ? "0" + hours : hours)...
没有CDATA
以上是关于大于 > 小于 < inside thymeleaf javascript... 错误:元素的内容必须由格式良好的字符数据或标记组成的主要内容,如果未能解决你的问题,请参考以下文章
从 appState 中选择 store inside store