2014-03-05 219 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>