2014-03-05 262 views
0

計算方法從下面的列表中取兩個參數,sessionUser.getUserId()user.getUserId()spring MVC jsp foreach

我想顯示此方法的結果,該方法爲jsp中的每個用戶返回一個String值。我使用c:foreach來顯示jsp頁面中的用戶。

我該怎麼做?

User sessionUser=(User)request.getSession(true).getAttribute("user"); 
List<User> users=groupService.getUserGroup(group); 
model.addAttribute("users",users); 
for(User user:users){ 
model.addAttribute("result", 
    calculateSililarity.calculate(sessionUser.getUserId(), user.getUserId())); 
} 
+0

從你在哪裏得到'user'對象,你想,反覆''中model.addAttribute(「用戶」,用戶)users';'和'呼籲爲每個用戶calculate'方法或還有什麼 ?不清楚你的問題。 –

+0

抱歉,我在發佈代碼時出錯,我想爲用戶中的每個用戶調用計算方法通過c:foreach顯示用戶數據並使用計算方法的結果 –

回答

0

聽起來像是您在尋找Map

Map<User, String> userMap = new HashMap<User, String>(); 

for (User user : users) { 
    userMap.put(user, calculateSililarity.calculate(sessionUser.getUserId(), user.getUserId())); 
} 

model.addAttribute("userMap", userMap); 

在您的JSP中,您將按照以下方式遍歷地圖。

<c:forEach var="entry" items="${userMap}"> 
    User ID: <c:out value="${entry.key.userId}"/> 
    Similarity: <c:out value="${entry.value}"/> 
</c:forEach>