发现 thymeleaf 检查 html 语法也就算了,它还会对 js 中的字符进行转义,导致解析 js 报错,连 js for 循环 都要报错。
这样的东西,也敢发布出来让人用啊? = =
最后搜来搜去,找到了解决方法:在 js 里加上 /*<![CDATA[*/ 和 /*]]>*/ ,避免转义。
如 for 循环写成:
<script type="text/javascript" th:inline="javascript">
/*<![CDATA[*/
for ( var i = 1; i <= count; i++ ) {
var linkUrl = '<li><a href="/listPage?num='+i+'">'+i+'</a></li>';
html += linkUrl;
}
/*]]>*/
</script>
参考 1 zhidao.baidu.com/question/811851082853036012.html
2 注意: 只有 "<" 字符和 "&" 字符对于XML来说是严格禁止使用的,所以需要转义。