背景: 正常通过data,都是要在html页面将数据提前写好,不然都是通过url跟后台要数据,由于项目需求需要通过thymeleaf传数据
//后台传jsonarra数据后,虽然是json格式,但是前台还是要通过下面两种方法操作下,才能被data这个参数认可----其中原因未知
var workTaskDataJson=eval($("#workTaskData").val());
//或者通过下面这种方法
// var workTaskDataJson=JSON.parse($("#workTaskData").val());
layui.use('table', function () {
var table = layui.table;
table.render({
elem: '#workTaskTable'
, height: 100
, data: workTaskDataJson
, cols: [
[ //表头
{
field: 'workSpace',
title: '工作地点及设备双重名称',
width: '50%',
event: 'setWorkSpace',
style: 'cursor:pointer;',
}
, {
field: 'workContent',
title: '工作内容*',
width: '50%',
event: 'setWorkContent',
style: 'cursor:pointer;',
}
]
]
, done: function () {
$("table").width("100%");
tdTitle();
}
});
后台代码,通过thymeleaf给workTaskData数据传值
@RequestMapping("/today")
private String today(Model model)
{
System.out.println("进入test0控制器");
List<WorkTask> workTaskList=new ArrayList<>();
for (int i = 0; i < 3; i++) {
WorkTask workTask=new WorkTask();
workTask.setWorkSpace("dadasas");
workTask.setWorkContent("wubin");
workTaskList.add(workTask);
}
JSONArray jsonArray=JSONArray.fromObject(workTaskList);
System.out.println("jsonarray"+jsonArray.toString());
model.addAttribute("workTaskData",jsonArray.toString());
return "workTicketPage";
}
总结:前后端传给对方的数据都要进行解析才能使用,不然也许你看到你赋予参数的值符合要求,但是就是不被识别认可,就是要通过这种解析操作才可以,具体原因,才疏学浅,哎。。。。