控制者
List<Object[]> permissionList = new ArrayList();
//fill permissionList with list of object ayyays (objetct[0] = permission id, object[1] = permission)
model.addAttribute("permissionList", permissionList);
jsp
var allpermissionList = "${permissionList}";
$.each(allpermissionList, function (index, av) {
var id = av[0];
vat name=av[1];
//set values to div element
});
我无法使用js $ each()遍历我的列表... av [0]和av [1]无法获得。
最佳答案
Java代码在服务器上运行。 JavaScript在客户端上运行。它们是非常不同的语言,并且不会开箱即用地互操作。当您需要将数据从Java传递到JavaScript时,最简单的方法是例如使用Jackson将其序列化为JSON。
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper om = new ObjectMapper();
model.addAttribute("permissionList", om.writeValueAsString(permissionList));
在JSP中:
var allpermissionList = ${permissionList};
请注意,并非所有Java对象都可序列化为JSON,因此列表中的对象应为简单的Java类型(字符串,数字...)或POJO。