inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

메시지, 국제화 관련 문의 드립니다.

698

god

작성한 질문수 1

1

안녕하세요. 강사님

먼저, 좋은 강의 감사드리며, 열심히 듣고있습니다.

 

다름이 아니라 아래 소스 테스트가 실패로 떨어집니다.

 

간단한 소스라 특별한 문제가 없는것 같은데....

혹시 강의 내용중에는 언급이 안되었지만 properties 파일의 인코딩 문제인지...

물론 제공해주신 강의소스를 인텔리제이에서 불러와서 코딩한거라 그런 문제는 아닌것 같지만요...

 

조언 부탁드립니다.

감사합니다.

 

 

MVC spring

답변 1

2

OMG

안녕하세요. god님, 공식 서포터즈 OMG입니다.

hello=a
hello.name=안녕 {0}

 

@Test
    void helloMessage() {
        String result = ms.getMessage("hello", null, null);
        assertThat(result).isEqualTo("a");
    }

인코딩 관련 문제인지, 한글 대신 영어로 확인해보면 좋을거 같아요.

안녕 대신 a로 확인해보시겠어요?

 

preference에서 file encoding도 UTF-8로 되어 있는지 확인해주세요


감사합니다.

0

god

빠른 답변 감사합니다.

 

알려주신 방법으로 영어로 수정하고 테스트 하였으나 결과는 실패로 떨어집니다.

그리고  환경 설정에서 uft-8로 변경하고도 결과는 마찬가지입니다.

이전 유사한 질문에 있는 답변 내용으로 해보았는데...  마찬가지 결과입니다. 

 

0

OMG

올리신 이미지가(테스트한 환경이) 강의에서 제공해드리는 프로젝트로 하신건가요?

제공해드리는 프로젝트로 하셨다면,

message(완성본) message-start(시작용) 중 어떤 것으로 하신걸까요?

0

god

강의 내용대로 message-start 폴더를 message로 변경하고 시작하였습니다.

 

그리고 혹시나 하여 원본 소스 중 message 폴더로 프로젝트 열고 "MessageSourceTest" 테스트 해보았는데 동일하게 테스트 실패로 나옵니다. (아래 화면)

 

 

 

 

0

OMG

에러 메시지를 보니 알 것 같습니다.

아래와 같은 상황 같아요.

https://www.inflearn.com/questions/489062

https://www.inflearn.com/questions/286899

 

 Locale을 바꿔가면서 확인해보시겠어요?

 

String result = ms.getMessage("hello", null, Locale.ENGLISH);
String result = ms.getMessage("hello", null, Locale.KOREA);

0

OMG

아래와 같이 default Locale을 출력해보셔도 좋을 것 같아요.

0

god

우선 알려주신대로 아래와 같이 수정하여 테스트 결과 성공하였습니다.

1. application.properties에서 "spring.messages.fallback-to-system-locale=false" 추가

2. String result = ms.getMessage("hello",null, null); 을

    String result = ms.getMessage("hello",null, Locale.KOREA); 로 수정

※  단, System.out.println(Locale.getDefault()); 출력값은 "en_US" 임

 결론은, getMessage에서 Locale 값을 KOREA로 강제 셋팅시 한글 출력됨

 

늦게까지 답변해 주셔서 감사합니다.

 

 

 

 

 

 

0

god

오늘 국제화 강의편 듣다가 내용중에 브라우저 언어 설정 변경을 통해 메세지 한국, 영어 변환 테스트를 하면서 혹시나 하여 어제 질문드린 사항에 대해 연계해서 테스트를 해보니 정상적으로 성공 테스트값을 얻을수가 있었습니다.

아마도 제가 언어 설정에 우선순위를 영어로 설정되어 있어서 테스트 실패가 된 것으로 예상됩니다

(물론 정확한 이유가 맞는지는 모르겠습니다만...)

 

여하튼 설정값 변경을 통해 테스트 성공값을 얻을 수 있었습니다.

아래 화면이 브라우저 설정값 입니다.

수고하세요.

 

 

 

 

이미지 업로드와 db 트랜잭션 묶는법

0

43

1

Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4

0

53

2

MessageSourceTest 코드

0

47

1

인터셉터 에러 설정

0

48

1

resolveArgument()메서드 질문

0

57

1

43강 검증1 에서 실패 로직 관련 질문있습니다.

0

57

2

타임리프 3.X 버전 rendering, serializer 에러 해결 방법

2

133

3

스프링 빈에 등록이 안되는거 같은데 어떻게 하면 좋을까요?ㅠㅠ

0

90

3

pdf 오타 문의

0

57

1

ItemUpdateForm 검증 관련 질문입니다.

0

48

1

22page 링크 주소 변경

0

59

2

특정 데이터와 파일을 함께 저장 시, 테이블 구조 질문

0

53

1

섹션3번 수업에 대한 질문입니다.

0

80

2

@Autowired 보다 더 좋은 방법이 어떤 걸까요?

0

85

2

타입컨버터 가 람다랑 비슷해 보이는데 저의 생각이 맞는지?.

0

65

1

자바스크립트 인라인에서 객체 직렬화 시 오류가 납니다

0

142

3

스프링부트 - 오류페이지2 에서 500.html 에서 쓰인 객체 질문

0

63

1

톰캣 에러 페이지가 안보입니다.

0

103

2

apiEceptionController에서 센드 에러 호출하면 안되는지?

0

81

1

세션 타임아웃시 쿠키 삭제 방법이 없나요?

0

118

2

ApiExceptionController 질문드립니다.

0

64

1

셀렉박스 챕터에서 option value에 ==배송 방식 선택== 이것을 넣은 이유가 궁금함, 이렇게 구상해도 되는지?

0

66

1

MemberRepository 필드의 fianl 선언 유무

0

85

2

혹시 index.html 에서는 fragment 사용이 안되는건가요

0

58

1