springboot+themleaf+JavaScript进行json传值跟springmvc+jsp+jstl的传值有点区别。
1、在maven项目的pom.xml引入net.sf.json加包,如下:
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
2、在controller控制内中的代码如下:
@RequestMapping(value = "/user_UserList", method = RequestMethod.GET)
public String UserList(ModelMap model,HttpServletResponse response){
List<User> lst=userMapper.allUser();
JSONArray ja=JSONArray.fromObject(lst);
model.addAttribute("userList", ja);
return "/SystemManager/BaseInformation/UserList";
}
注:上面接口中,是将一个list集合转换成json,再传到前段;
3、在themleaf的JavaScript中接收json值
var result='[[${userList}]]';
但实际接收到的值如下:
result='[{"address":"22","id":"1","phone":"2","sex":"2","username":"2"},
{"address":"2","id":"2","phone":"2","sex":"2","username":"2"}]'
注:对于上述问题,可以采取如下转换(完整js如下):
<script>
var result='[[${userList}]]';
var result = result.replace(/"/g,'"');
var result=eval(result);
</script>