我正在使用Thymeleaf和Spring Boot。
我有一个使用以下脚本创建的表:http://bootstrap-table.wenzhixin.net.cn/
然后我添加了一个javascript:
<script th:inline="javascript">
/*<![CDATA[*/
$(function() {
$("#list").on('click-row.bs.table',
function(e, row, $element, field) {
window.location = /*[[@{/url/}]]*/+row.id;
});
});
/*]]>*/
</script>
如您所见,我添加了
/*[[@{/url/}]]*/
来生成正确的url,但是我必须将其与id连接起来。问题是它永远不会将id附加到URL ..为什么?
我该如何解决?
最佳答案
您可以先将Thymeleaf Java对象放在一些javascript变量中,然后再像平常在javascript中一样使用它。
var url = /*[[@{/url/}]]*/
window.location = url + row.id;
从12.2 Script inlining (JavaScript and Dart) documentation:
Thymeleaf将执行表达式并插入结果,但是它
还将在内联表达式之后删除该行中的所有代码
本身(静态显示时执行的部分)。