[英]How to loop through List of objects of and compare value in every object in Java?
[英]How to loop through Java List<Object[]> object in JavaScript?
控制者
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。
我解决了..谢谢大家。
控制者
List<Object[]> permissionList = new ArrayList();
// load values
List<Map<String, String>> listAll = new ArrayList<>();
if (permissionList != null && permissionList.size() > 0) {
for (Object[] objects : allPermissions) {
Map map = new HashMap();
map.put("id",objects[0]);
map.put("permName", objects[1]);
listAll.add(map);
}
}
ObjectMapper mapper = new ObjectMapper();
String permissionList = mapper.writeValueAsString(listAll);
model.addAttribute("permissionList", permissionList);
Jsp
var allpermissionList = eval(${permissionList});
$.each(allpermissionList, function (index, permission) {
var id = permission.id;
var name = permission.name;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.