thymeleaf修改javascript中的值, 下面示例为修改Fields的值
前端使用layui配置表格字段, 字段不固定, 由后端决定.
<script th:inline="javascript">
var fields = eval([[${Fields}]]);
</script>
<script>
layui.use(["table"], function () {
var table = layui.table;
table.render({
elem: "#demo",
id: "demo",
url: "/getdata",
cols:[fields]
});
});
</script>
后端java代码中设置Fields的值
model.addAttribute("Fields", "[{ type: "checkbox", 120 },{ field: "id", title: "编号", align: "center", sort: true },{ field: "itemid", title: "物品", align: "center" },{ title: "操作", align: "center", fixed: "right", toolbar: "#barDemo", 300 }]");
前端页面html中Fields为:
var fields = eval("[{ type: "checkbox", 120 },{ field: "id", title: "u7F16u53F7", align: "center", sort: true },{ field: "itemid", title: "u7269u54C1", align: "center" },{ title: "u64CDu4F5C", align: "center", fixed: "right", toolbar: "#barDemo", 300 }]");
thymeleaf中替换脚本值可以使用[[${变量名}]], 但转到前端为字符串, 可以使用eval再转换为js变量