2014-03-05 1 views
0

calculate 메서드는 아래 목록에서 sessionUser.getUserId()user.getUserId()의 두 매개 변수를 사용합니다.스프링 MVC foreach

jsp에서 각 사용자에 대한 문자열 값을 반환하는이 메서드의 결과를 표시하고자합니다. 나는 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

, 당신은 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에서 다음과 같이지도를 반복하면됩니다. 여기서 당신은`user` 객체를 얻고에서

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