背景:使用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>