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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

체크 박스 - 멀티

region.key 와 region.value 가 어디서 나오는 것인가요? 그리고 region 의 타입은 무엇이 되는건가요?

해결된 질문

작성

·

342

·

수정됨

2


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)네
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

@ModelAttribute("regions")
public Map<String, String> regions() {
    Map<String, String> regions = new LinkedHashMap<>();
    regions.put("SEOUL", "서울");
    regions.put("BUSAN", "부산");
    regions.put("JEJU", "제주");
    return regions;
}
<div>
    <div>등록 지역</div>
    <div th:each="region : ${regions}" class="form-check form-check-inline">
        <input type="checkbox" th:field="${item.regions}" th:value="${region.key}" class="form-check-input" disabled>
        <label th:for="${#ids.prev('regions')}"
               th:text="${region.value}" class="form-check-label">서울</label>
    </div>
</div>

 여기에서

th:each="region : ${regions}"
th:value="${region.key}"
th:text="${region.value}"

 

너무 어려워서 체크박스만 어제 오늘 계속 붙들고 다시보고 있는데요 이제 저 3개만 알면 이해갈거같은데 전력을 다해 검색해봐도 도저히 저 3개를 모르겠어요

each 에 ${regions} 는 맵인거 같은데 region 은 무슨타입이 들어가길래 key value 라는 값을 쓸수 있는건가요?

 

 

 

답변 1

2

안녕하세요. C베로님, 공식 서포터즈 OMG입니다.
간단한 Map에 대한 예시를 설명드리면,

Map<사물함번호, 사물함주인> 사물함;

이 있을 때

사물함 번호가 key이고, 사물함 주인이 value입니다.

이 때 사물함 번호(key)는 고유하고 사물함 주인(value)은 중복 될 수 있습니다.

위에서 설명드린 예시가 Map의 특징을 현실에 대입한 것이고 강의 예시의 region.key, region.value도 마찬가지로 생각하시면 됩니다.

 

그리고 타임리프에서 map에 대한 key, value가 예약어로써 Map타입의 데이터 처리를 지원한다고 보시면 됩니다.

each 에 ${regions} 는 Map데이터(강의 예시로 <SEOUL, 서울>, <BUSAN, 부산>, <JEJU, 제주>) 전체를 각각 순회하는 코드입니다.

 

추가로 아래 링크도 같이 참고해주세요.

https://amagrammer91.tistory.com/33


감사합니다.

만약 제 설명과 링크를 참고하더라도 이해가 잘 안되신다면 제 설명이 부족했을 수도 있지만 자바 컬랙션 Map에 대한 개념이 정립이 안되었을 수도 있을 것 같아요.

Map에 대해서도 별도로 학습하신 후 다시 보시면 이해되실거라 생각합니다.

와 정말 감사합니다! 이제 이해되었습니다

강의 수강 중 궁금한 사항은 언제든 질문 남겨주세요 :)

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기