thymeleaf 会对 js 的字符转义,包括 for 循环里的字符,导致报错。

本文介绍了一个关于Thymeleaf框架处理JS代码时出现的问题及解决办法。当Thymeleaf处理JS中的循环等语法时会发生转义现象,导致JS执行错误。文章提供了解决方案,即通过使用CDATA段落避免特定字符被转义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发现 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来说是严格禁止使用的,所以需要转义。

         www.cnblogs.com/catgatp/p/6403326.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值