javascript - 从函数返回 2 个值 - java

标签 javascript java jquery

我正在尝试制作在线用户和离线用户的列表。

但是由于我无法从函数返回 2 个 arrayList,我该怎么做?

Controller

  @RequestMapping(value = "/loggedUsers", method = RequestMethod.GET)
public @ResponseBody List<User> getLoggedUsers() {
    Map<String,User> users = User.getUsers().stream().collect(Collectors.toMap(User::getUsername, Function.identity()));
    List<User> onlineUsers = new ArrayList<>();
    for(String username : activeUsers.getUsers()) {
        User user = users.get(username);
        if(user != null) {
            onlineUsers.add(user);
        }
    }
    return onlineUsers;
}

现在我需要其余的(不是在线用户)并将它们标记为离线

AJAX

 //get loggedUsers
$.ajax({
    url: '/loggedUsers',
    type: 'get',
    success: function (loggedUsers) {
        console.log(loggedUsers);    
    }
});

最佳答案

您可以创建一个对象,其中 2 个 arrayList 的两个属性

ResponseObject
{
   List<User> onlineUsers; 
   List<User> offlineUsers;
}

返回该对象作为响应。

在 JavaScript 响应中,您将得到这 2 个 arrayList

 //get loggedUsers
$.ajax({
    url: '/loggedUsers',
    type: 'get',
    success: function (Users) {
        console.log(Users.onlineUsers);
        console.log(Users.offlineUsers);   
    }
});

关于javascript - 从函数返回 2 个值 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49882210/

相关文章:

javascript - Protractor e2e 测试登录重定向

java - servlet 过滤器重写 URL

Java - 我是否必须在包包含的所有类中注释包?

javascript - 获取被溢出部分隐藏的 HTML 元素的完整高度 :Hidden With JQuery/Javascript

javascript - bootstrap 中的方柱

Javascript 在控制台上工作,但不是 onclick 事件

javascript - 使用 npm 将 fork 存储库安装为依赖项时出错

java - 合并两个具有重复项的 Java Arraylist

javascript - 所选日期未显示在日期选择器单元格上

javascript - 以连续的方式执行循环中的所有元素?