layui数据表格通过data参数实现动态赋值(结合thymeleaf)

背景: 正常通过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";
    }

总结:前后端传给对方的数据都要进行解析才能使用,不然也许你看到你赋予参数的值符合要求,但是就是不被识别认可,就是要通过这种解析操作才可以,具体原因,才疏学浅,哎。。。。

你可能感兴趣的:(Layui,Spingboot,html,javascript)