함수에 매개 변수로 전달하지 않고 Spring에서 현재 사용자 로케일을 가져오는 방법은 무엇입니까?
Spring 3.1을 사용하고 있으며 현재 사용자에 대해 활성화된 로케일을 찾고자 합니다. 컨트롤러에서 서비스 계층으로 로케일을 강제로 전달하지 않고 직접 가져올 수 있는 방법 등이 있습니다.
스프링은 어떤 정적 방법을 호출하여 잡을 수 있는 스레드 로컬 스토리지에 로케일을 저장합니까?
저는 또한 어떻게 하면 통과하지 않고 로케일에 액세스할 수 있는지 찾고 있었습니다.Locale
하지만 저는 아직 스프링에 익숙하지 않아서 대부분의 해결책들이 혼란스럽다는 것을 알게 되었습니다.그러나 Spring MVC는 스레드 로컬 스토리지에 로케일을 저장하는 것으로 나타났습니다.다음을 통해 액세스할 수 있습니다.
Locale locale = LocaleContextHolder.getLocale();
마지막 접근 방식 [...]은(는) 아키텍처의 엔티티에 현재 로케일을 제공하기 위해 로컬 스레드를 기반으로 합니다. [...] LocaleContextHolder의 내용은 기본적으로 웹 요청에 지정된 로케일에 해당합니다.
시작: Spring MVC 3으로 로케일 전환 구성. (이 게시물은 로케일을 가져오는 대체 구성/방법도 제공하며, 이는 이 작업을 원하는 모든 사람에게 유용할 수 있습니다.)
또한 다음을 볼 수 있습니다.LocaleContextHolder
여기 봄에서 온 문서들.
로케일을 저장하도록 구성한 위치, 세션 또는 쿠키에 따라 다릅니다.
애플리케이션에서 아래에 언급된 구성으로 세션에 사용자 로케일을 저장하도록 구성했습니다.
<mvc:interceptors>
<ref bean="localeChangeInterceptor"/>
</mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en"/>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>/WEB-INF/i18n/labels</value>
<value>/WEB-INF/i18n/messages</value>
<value>/WEB-INF/i18n/include</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
이와 같은 작업을 수행한 경우 세션에서 로케일 매개 변수를 쉽게 검색할 수 있습니다.
이것이 도움이 되길 바랍니다.
건배.
우리는 같은 필요성을 가지고 있었고, 그래서 퍼팅을 생각해냈습니다.Locale
안으로ThreadLocal
맥락.이미 저장된 개체(일부 사용자 정보)가 있습니다.ThreadLocal
컨텍스트, 그래서 그냥 추가했습니다(해킹처럼 보이지만, 우리가 찾은 가장 빠른 해결책).
언급URL : https://stackoverflow.com/questions/10792551/how-to-obtain-a-current-user-locale-from-spring-without-passing-it-as-a-paramete
'programing' 카테고리의 다른 글
Thymeleafth:reactJS의 텍스트 사용 방법 (0) | 2023.07.29 |
---|---|
MySQL 데이터베이스에 아랍어로 데이터 저장 (0) | 2023.07.29 |
PHP의 UTF-8 문자열에서 4바이트 문자를 대체/제거하는 방법은 무엇입니까? (0) | 2023.07.29 |
리스트에서 특이치를 기각하기 위한 numpy가 내장되어 있습니까? (0) | 2023.07.29 |
Android에서 이미지 보기의 투명 배경 설정 (0) | 2023.07.29 |