背景:使用springboot +springmvc +thymeleaf想在前端js中直接获取后台model传的值

有两种方式:

1、使用隐藏域,先把model的值通过标签的方式放到某个input标签下,再到js中通过jquery按照id的方式选取(这种方法对于对象类型的传值支持不好,字符串什么的还可以)

1、后台传值:

model.addAttribute("roles", allRoleInfos);

2、前台隐藏域接收:

<input type="hidden" id="roles" value="${roles}}">

3、js中通过jquery使用id选取的方式获取值(需要注意的是这种不支持对象类型的)

var data= $("#roles").val();

2、内联js方式

1、后台传值:

model.addAttribute("roles", allRoleInfos);

2、js中直接获取值(需要注意的是需要使用内联js方式)

<script th:inline="javascript">
    function getRoleMapping(cellvalue, item, index){
        var data = [[${roles}]];
        if(data!=null)
        {
            for(var i=0;i<data.length;i++)
            {
                if(cellvalue==data[i].roleId)
                {
                    return data[i].roleName;
                }
            }
        }
    }
</script>

 

posted on 2020-01-09 21:24  falcon_fei  阅读(13211)  评论(1编辑  收藏  举报