인프런 커뮤니티 질문&답변
th:each map의 값 꺼내오기
작성
·
909
0
안녕하세요:) 강의 잘 듣고있습니다. 😀
타임리프 반복 기능에서 map의 값을 꺼내올때 어떻게 해야되는지 잘 모르겠어서 질문 남깁니다.
📌 컨트롤러에서 모델에 mapUsers라는 key로 map에 추가한 데이터를 담았습니다.
private void addUsers(Model model){
List<User> list = new ArrayList<>();
list.add(new User("UserA", 10));
list.add(new User("UserB", 20));
list.add(new User("UserC", 30));
model.addAttribute("users", list);
Map<String, User> map = new HashMap<>();
map.put("1",new User("UserD", 40));
map.put("2",new User("UserE", 50));
map.put("3",new User("UserF", 60));
model.addAttribute("mapUsers", map);
}
📌 질문1 ) map에 저장된 데이터를 th:each로 꺼내려고 할 때 아래처럼 꺼내는 게 맞을까요,,?
<h1>기본 테이블</h1>
<table border="1">
<tr>
<th>username</th>
<th>age</th>
<th>mapUsername</th>
<th>mapAge</th>
</tr>
<tr th:each="user: ${users}">
<td th:text="${user.username}">username</td>
<td th:text="${user.age}">0</td>
</tr>
<tr th:each="mapUser:${mapUsers.entrySet()}">
<td th:text="${mapUser.getValue().getUsername()}">username</td>
<td th:text="${mapUser.getValue().getAge()}">0</td>
</tr>
</table>
📌 질문2)
7행 2열로 출력 되는 테이블을
4행 4열로 1,2열에는 list의 값 3,4열엔 map의 데이터를 담으려고 하면 어떻게 해야될까요?

<h1>기본 테이블</h1>
<table border="1">
<tr>
<th>username</th>
<th>age</th>
<th>mapUsername</th>
<th>mapAge</th>
</tr>
<tr th:each="user: ${users}" th:each="mapUser:${mapUsers.entrySet()}">
<td th:text="${user.username}">username</td>
<td th:text="${user.age}">0</td>
<td th:text="${mapUser.getValue().getUsername()}">username</td>
<td th:text="${mapUser.getValue().getAge()}">0</td>
</tr>
<!-- <tr th:each="mapUser:${mapUsers.entrySet()}">
<td th:text="${mapUser.getValue().getUsername()}">username</td>
<td th:text="${mapUser.getValue().getAge()}">0</td>
</tr>-->
</table>
답변 1
1
김영한
지식공유자
안녕하세요. 박소원님
구글에 thymeleaf map 이라고 검색해보시면 매우 풍부한 샘플 자료들을 찾아볼 수 있을거에요^^
두번째 문의 주신 부분은 저도 잘 모르겠습니다.
감사합니다.





