繁体   English   中英

如何遍历Java列表 <Object[]> JavaScript中的对象?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM