在 thymeleaf 中包含 JavaScript 变量
如何在百里香包中包含一个 JavaScript 变量来检查条件?
试:
<div th:if="${myVariable == 5}">
//some code
</div>
但它不起作用。
如何在百里香包中包含一个 JavaScript 变量来检查条件?
<div th:if="${myVariable == 5}">
//some code
</div>
但它不起作用。
您尝试执行的操作将不起作用,因为 Thymeleaf 在服务器端处理模板,因此它有权访问的变量是其模型中定义的变量。
如果你在Thymeleaf运行的模型中,它会起作用。如果要在 Thymeleaf 模板中设置 Javascript 变量的值,可以执行以下操作:myVariable
<script th:inline="javascript">
/*<![CDATA[*/
...
var myVariable= /*[[${myVariable}]]*/ 'value';
...
/*]]>*/
</script>
在脚本中,您可以拥有所需的任何逻辑,包括隐藏/显示等。
有关模式的详细信息,请查看文档的这一部分。
在 thymeleaf 3 中,必须删除 CDATA 块才能内联引用我的变量,否则解析器会完全忽略它。此语法在升级后对我成功工作:
<script th:inline="javascript">
var myVariable = [[${#vars.myVar}]];
...
</script>
注意:如果您还将变量引用为 [[${#ctx.variables.myVar}]],它将不再适用于 thymeleaf 3,因为 ctx 不再具有名为变量的变量。