1
@RequestMapping(value="/facebook/friendlist", method=RequestMethod.GET)
public String showFeed(Model model) {
    List<Reference> friendLists = facebook.friendOperations().getFriendLists();
    model.addAttribute("friendLists", friendLists);



    //retourner les membres d'amis de la liste 
    for (int i =0; i< friendLists.size() ;i++) {
        System.out.println(friendLists.size());
    List<Reference> friendListMembers= facebook.friendOperations().getFriendListMembers(friendLists.get(i).getId());
    model.addAttribute("friendListMembers", friendListMembers);
    System.out.println(friendLists.get(i).getId());
    System.out.println(friendListMembers);  
    }

我认为问题出在jsp页面中,如何解决。提前致谢

4

1 回答 1

0

您正在覆盖friendListMembers模型中的值,因此只有friendLists数组中的最后一个条目才能使其成员在 JSP 代码中可用。

您需要模型中的二维数组,键是好友列表 ID,值是好友列表的成员数组

简单示例:

在您的 java 代码中:

ArrayList<String,List> allFriends = new ArrayList();

for (int i =0; i< friendLists.size() ;i++) {
    String friendListId = friendLists.get(i).getId();
    List<Reference> friendListMembers= facebook.friendOperations().getFriendListMembers(friendListId);
    allFriends.add(friendListId, friendListMembers);
    }
    model.addAttribute("allFriends", allFriends);

在您的 JSP 代码中:

<c:forEach items="${allFriends}" var="list">
        <c:forEach items="${list}" var="friend">
            <c:out value="${friend.id}"/>:<c:out value="${friend.name}"/><br/>
        </c:forEach>
        <hr/>
</c:forEach>

请注意,我没有对此进行测试,如果它在复制/粘贴时有效,我会感到惊讶,这只是一个让你走上正轨的想法

于 2012-04-20T00:14:21.540 回答