강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박소원님의 프로필 이미지
박소원

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

반복

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 이라고 검색해보시면 매우 풍부한 샘플 자료들을 찾아볼 수 있을거에요^^

두번째 문의 주신 부분은 저도 잘 모르겠습니다.

감사합니다.

박소원님의 프로필 이미지
박소원

작성한 질문수

질문하기