thymeleaf模板。。。包含js。。。使用了if(a && b) 然后 && 不能通过模板引擎的解析。。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thymeleaf模板。。。包含js。。。使用了if(a && b) 然后 && 不能通过模板引擎的解析。。。相关的知识,希望对你有一定的参考价值。

最近使用了新的html模板thymeleaf。。在模板里使用js语法时遇到问题, &&不能正确的被解析,使用if(a && b) 可以通过模板解析,但是浏览器上不能解析成功。。财富值不多,麻烦大家帮帮忙

/*<![CDATA[*/
if(a && b)
    //...

/*]]>*/

首尾增加这样的注释一样的声明,由于thymeleaf是采用xml解析的方式进行替换的,所以javascript中&这样的xml实体转义字符会被识别为转义,所以会出sax解析错误

参考技术A 直接引用js文件可以解决,你要是在html里面想写js 这个&& thymeleafy用别的替代了包括大于号小于号之类的 参考技术B 虽然没搞懂“浏览器上不能解析”是什么意思,
但是笨方法还是有的:把and条件拆成两个if语句追问

浏览器是不能解析其实就是还是显示&这个转义后的字符,而不是& ..不过我已经解决这个问题了。。。

参考技术C &&改成and就可以了

如何结合 AngularJS 和 Thymeleaf 模板

【中文标题】如何结合 AngularJS 和 Thymeleaf 模板【英文标题】:How to combine AngularJS and Thymeleaf templates 【发布时间】:2017-03-28 20:57:54 【问题描述】:

我正在将当前使用 Thymeleaf 的网页转换为使用 AngularJS。

我想转换包含 Thymeleaf 的后续块

<form th:action="@?deleteLog" th:object="$log" method="post" class="in-line">
    <input type="hidden" th:value="$log.vid_id" name="vid_id" />
    <input type="hidden" th:value="$log.id" name="id" />
    <button type="submit" class="btn btn-danger">Delete</button>
</form>

这些th:value 变量被传递给我的控制器类中的@PostMapping 方法,然后使用这些变量从我的数据库中删除一个条目。

如何使用 AngularJS 实现这一点?采取与我相同的方法

<form th:action="@?deleteLog" method="post" class="in-line">
    <input type="hidden" th:value="x.vid_id" name="vid_id" />
    <input type="hidden" th:value="x.id" name="id" />
    <input type="button" value="Remove" class="btn btn-danger" ng-click="removeRow(tableList.id)" />
</form>

removeRow() 函数成功地从 UI 中的表中删除了行,我只需要将 x.vid_idx.id 值发送到我的控制器类中的方法。

我显然没有使用正确的语法,因为我在尝试使用 Angular 时遇到了 th:value="x.id" thymeleaf 变量的解析错误。我也试过th:value="$x.id"'th:value="$x.id"

我无法在网上找到有关传递 Angular 变量的任何信息。这甚至可能吗?

【问题讨论】:

【参考方案1】:

您不应将 AngularJS(用于客户端 HTML 模板的 SPA 框架)与 Thymeleaf(用于服务器端 HTML 模板的库)混合使用。您应该选择在服务器或客户端上进行模板化并坚持下去。

将这两者结合起来根本没有意义。

【讨论】:

以上是关于thymeleaf模板。。。包含js。。。使用了if(a && b) 然后 && 不能通过模板引擎的解析。。。的主要内容,如果未能解决你的问题,请参考以下文章

使用 thymeleaf 用父布局包装模板

Thymeleaf 模板 - 有没有办法装饰模板而不是包含模板片段?

thymeleaf 怎么使用js获取model

Spring Boot2 系列教程 | 整合 thymeleaf

springboot thymeleaf引入css和js必须添加th吗

SpringBoot笔记(五)模板引擎thymeleaf和freemarker