首页 > 解决方案 > Spring thymleaf 如何从 jquery 数据表中添加 th:href="@{}"

问题描述

我正在尝试从 jquery 数据表添加一个 href 链接,但 thymleaf th:href="@{}" 在处理页面时没有被识别。这是我的代码。

 $("#categoriesTable").DataTable({

            "Processing":true,
            "ServerSide":true,
            "ajax": {"url": "/ajax/categories", "dataSrc": ""},
            "columns": [
                {"data": "id"},
                {"data": "name"},
                {"data": "description"},
                {"data": "create_at"},
                {"data": null,
                "render": function(data, type, row){
                    return '<a class="btn btn-primary btn-xs"  th:href="@{/category/'+data.id+'/edit}"  >Edit</a>'

                },
                    "targets": -1
                }
            ]
        });

标签: javajqueryspringdatatablesthymeleaf

解决方案


您可以定义将保存上下文值并在呈现行时使用它的 javascript 变量

<script th:inline="javascript>
    /*<![CDATA[*/
       var context = [[@{/}]];
    /*]]>*/
</script>

$("#categoriesTable").DataTable({

            "Processing":true,
            "ServerSide":true,
            "ajax": {"url": "/ajax/categories", "dataSrc": ""},
            "columns": [
                {"data": "id"},
                {"data": "name"},
                {"data": "description"},
                {"data": "create_at"},
                {"data": null,
                "render": function(data, type, row){
                    return '<a class="btn btn-primary btn-xs"  href=""+context+"/"+data.id+"/edit">Edit</a>'
                    },
                    "targets": -1
                }
            ]
        });

推荐阅读