Backend/JSP

[JSP/JSTL] forEach를 이용해 HashMap, List에 있는 데이터 출력하기

냠냠:) 2020. 8. 28. 18:21

1. JSP 스크립트릿 활용하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%@page import="java.util.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 
<%
HashMap<String,Integer> map=new HashMap<String,Integer>(); 
map.put("a",1);
map.put("b",2);
map.put("c",3);
 
List<String> list = new ArrayList<String>();
list.add("hi");
list.add("bye");
list.add("apple");
 
session.setAttribute("map",map); 
session.setAttribute("list",list);
%>
 
<c:forEach items=${map} var="map">
           ${map.key} = ${map.value}  
</c:forEach>
 
<c:forEach items=${list } var="list">
          ${list}
</c:forEach>
cs
결과 :

a = 1  b = 2  c = 3

hi bye apple

 

2. Controller에서 사용하기

 

jsp forEach 부분은 똑같고 Controller부분에서 Model.addAtrribute()을 사용해주면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@RequestMapping(value="/blahblah", method=RequestMethod.GET)
    public void getListMap(Model model) {
        HashMap<String,Integer> map = new HashMap<String,Integer>(); 
        map.put("a",1);
        map.put("b",2);
        map.put("c",3);
        
        List<String> list = new ArrayList<String>();
        list.add("hi");
        list.add("bye");
        list.add("apple");
        
        model.addAttribute("list",list);
        model.addAttribute("map",map);
    }
cs

 

 

반응형