user2875151
user2875151

Reputation:

spring MVC jsp foreach

The calculate method takes two parameters, sessionUser.getUserId() and user.getUserId(), from the list below.

I want to show the result of this method that returns a String value for each user in jsp. I use c:foreach to display users in jsp page.

How can I do That?

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()));
}

Upvotes: 2

Views: 13161

Answers (1)

Beau Grantham
Beau Grantham

Reputation: 3456

Sounds like you're looking for a 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);

In your JSP you would loop through the map as follows.

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

Upvotes: 3

Related Questions