Spring 如果使用 Thymeleaf 出现错误,则引导打开模式
Spring Boot opening a modal if there are errors using Thymeleaf
我正在尝试验证模态,但现在无法使用 Thymeleaf 打开它。
我有一个 table,对于每一行我都有一个不同的模态,模态 ID 取其名称 myModal + 来自 table
的对象 ID
<div class="modal" th:id="*{'myModal'+{object.ID}}" tabindex="-1" role="dialog" aria-labelledby="#myModal" aria-hidden="true">
如果我在模态中更新的对象有错误(如果我收到参数错误),我想打开模态。我可以验证对象和所有内容,但我不知道如何使用 Thymeleaf 来获取我验证过的对象的 ID
只有当我对 ID 进行硬编码时,我才能在出现错误时打开模式 - 例如 ID 20
<script th:inline="javascript" th:if="${param.err}">$("#myModal20").modal("show");</script>
在控制器中,当我验证它是否有错误时,我可以发送一个模型属性“id-modal”,我想我可以用 Thymeleaf 把它放在硬编码的“20”的位置,但我不知道怎么做,有人可以帮忙吗?当我尝试执行此操作时,我不断在浏览器控制台中收到错误“未捕获错误:语法错误,无法识别的表达式:'myModal'+${id-modal}”
您不应在模型属性中使用破折号 -
。表达式 ${id-modal}
表示从 id
中减去 modal
的值——字面意思是数学表达式 id - modal
。一旦你改变了它(我将在这个例子中使用 modalId
),你的 JavaScript 可能看起来像这样。 (另请参阅 documentation on JavaScript inlining。)
<script th:inline="javascript" th:if="${param.err}">
let id = /*[[${modalId}]]*/ 0;
$("#myModal" + id).modal("show");
</script>
(我可能还会用准备好的 jQuery 文档包围它,但您可能不会 want/need 那样。)
我正在尝试验证模态,但现在无法使用 Thymeleaf 打开它。 我有一个 table,对于每一行我都有一个不同的模态,模态 ID 取其名称 myModal + 来自 table
的对象 ID<div class="modal" th:id="*{'myModal'+{object.ID}}" tabindex="-1" role="dialog" aria-labelledby="#myModal" aria-hidden="true">
如果我在模态中更新的对象有错误(如果我收到参数错误),我想打开模态。我可以验证对象和所有内容,但我不知道如何使用 Thymeleaf 来获取我验证过的对象的 ID 只有当我对 ID 进行硬编码时,我才能在出现错误时打开模式 - 例如 ID 20
<script th:inline="javascript" th:if="${param.err}">$("#myModal20").modal("show");</script>
在控制器中,当我验证它是否有错误时,我可以发送一个模型属性“id-modal”,我想我可以用 Thymeleaf 把它放在硬编码的“20”的位置,但我不知道怎么做,有人可以帮忙吗?当我尝试执行此操作时,我不断在浏览器控制台中收到错误“未捕获错误:语法错误,无法识别的表达式:'myModal'+${id-modal}”
您不应在模型属性中使用破折号 -
。表达式 ${id-modal}
表示从 id
中减去 modal
的值——字面意思是数学表达式 id - modal
。一旦你改变了它(我将在这个例子中使用 modalId
),你的 JavaScript 可能看起来像这样。 (另请参阅 documentation on JavaScript inlining。)
<script th:inline="javascript" th:if="${param.err}">
let id = /*[[${modalId}]]*/ 0;
$("#myModal" + id).modal("show");
</script>
(我可能还会用准备好的 jQuery 文档包围它,但您可能不会 want/need 那样。)