记录一次Thymeleaf th:inline内联问题

最近老大让我实现一个项目的国际化功能,大致就是支持项目页面一些固定框架的语言能支持中英文自由切换。所以需要前端跟后端的一些固定字段以及提示语以变量的形式嵌入。前端页面是用大家都很熟知的Thymeleaf渲染,这个东西的确非常好用~ 但是我之前只知道在html标签内通过th标签加${}或者#{}表达式访问变量数据,但是现在的需求需要在javascript代码块里访问变量数据,就去官网查了下,一看好像很简单嘛,大致意思就是把html中的javascript代码块的内联方法:

<script type="text/javascript" th:inline="none">

替换成

<script type="text/javascript" th:inline="javascript">

然后变量的语法也有点不一样:

美滋滋的改完后,启动项目,点开页面,哦豁,页面报错 在这里插入图片描述在这里插入图片描述在这里插入图片描述
错误说是有不正常的拼写,追踪一下发现,咦?怎么这么奇怪,明明自己页面的代码是这样的:在这里插入图片描述
在这里插入图片描述
前面那些奇怪的东西到底是哪里蹦出来的哇 ,然后仔细研究了一下,在这里插入图片描述发现了原来这是由于Thymeleaf引擎渲染模板失败,其实报的应该是org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression; 但是由于项目框架覆盖了原始的error页面,
在这里插入图片描述
直接把error.html页面嵌套到当前页面中了:
在这里插入图片描述
难为我这个前端小白,一字一句把这个html看半天,也没看到任何可能造成渲染失败的语法错误。。。实属无奈的我去求教公司的前端大佬,在这里插入图片描述大佬看了半天,最后发现竟然是代码的注释方法搞的鬼!!!
大家请看这段代码:
在这里插入图片描述
没想都都变灰了还能作妖!!在这里插入图片描述 大佬说把这段注释的方法删掉或者改成这样注释就没问题了:
在这里插入图片描述
我一试真的!!终于看到可爱的200了~
在这里插入图片描述
后来我发现这样注释也没问题:
在这里插入图片描述
如果javascript内联改成th:inline="javascript"后,// 跟 /* 注释叠在一起:
在这里插入图片描述
就出现了上面我遇到的问题,实在是令人费解><!在这里插入图片描述

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值