我正在尝试制作在线用户和离线用户的列表。
但是由于我无法从函数返回 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/