12.3.1 LocaleResolver 환경 설정
스프링 MVC는 LocaleResolver로 웹 브라우저의 로케일을 추출해서 알맞은 언어를 선택하여 메시지를 출력합니다. 즉, 디스패처 서블릿은 웹 요청이 들어오면 LocaleResolver를 검색합니다. 로케일 객체가 검색된다면 이를 이용하여 로케일을 설정합니다.
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.LocaleResolver 구현체">
<property name="defaultLocal" value="로케일 언어"/>
...
</bean>
다음은 빈 객체로 설정할 수 있는 LocaleResolver 구현체의 유형입니다.
▼ 표 12-4 LocaleResolver 구현체의 유형
유형 |
설명 |
AcceptHeaderLocaleResolver |
웹 브라우저에 설정된 기본 로케일 정보를 사용합니다. HTTP 요청의 accept-language 헤더에 지정된 기본 로케일을 사용합니다. |
CookieLocaleResolver |
쿠키를 이용한 로케일 정보를 사용합니다. 사용자 지정 로케일, 표준 시간대 정보를 브라우저 쿠키로 유지합니다. |
SessionLocaleResolver |
세션을 이용한 로케일 정보를 사용합니다. 사용자 세션에서 locale 속성을 사용하여 지정된 기본 로케일 또는 요청의 accept-header 로케일로 대체합니다. |
FixedLocaleResolver |
특정 로케일을 지정합니다. 항상 고정된 기본 로케일을 반환하고 선택적으로 시간대를 반환합니다. |
CookieLocaleResolver와 SessionLocaleResolver는 웹 브라우저의 로케일에 따라 원하는 언어를 선택하여 서비스할 수 있습니다. 하지만 FixedLocaleResolver는 웹 브라우저의 로케일과는 상관없이 지정된 언어만 서비스합니다.