控制者

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。

09-12 09:37