강의

멘토링

로드맵

Inflearn brand logo image

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

백승진님의 프로필 이미지
백승진

작성한 질문수

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

포맷터를 지원하는 컨버전 서비스

Locale 관련 질문입니다.

작성

·

348

0

 @Test
    void formattingConversionService() {
        DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();

        conversionService.addConverter(new StringToIpPortConverter());
        conversionService.addConverter(new IpPortToStringConverter());

        conversionService.addFormatter(new MyNumberFormatter());

        IpPort ipPort = conversionService.convert("127.0.0.1:8080", IpPort.class);
        assertThat(ipPort).isEqualTo(new IpPort("127.0.0.1", 8080));
        assertThat(conversionService.convert(1000, String.class)).isEqualTo("1,000");
        assertThat(conversionService.convert("1,000", Long.class)).isEqualTo(1000L);
    }

여기서 따로 Locale을 설정하지 않았는 데도 자동으로 Locale.KOREA가 들어가서 1000을 넣었을 시 "1,000"으로 나오는 것 같은 데 이 Locale 값은 스프링이 자동으로 넣어주는 건가요??

답변 1

0

안녕하세요, 백승진 님! 공식 서포터즈 codesweaver 입니다.

코드에서 Locale을 설정하지 않았는데도, 숫자가 포맷팅 되어 표시되는 이유에 대한 질문이군요.

Locale 값을 별도로 지정하지 않을 경우에는 기본값을 사용합니다.

자바 웹 애플리케이션은 ServletRequest를 통해 Locale 값을 확인합니다.

감사합니다.

백승진님의 프로필 이미지
백승진

작성한 질문수

질문하기