2014-07-16 23 views
5

için istisnaları inceleyin Kullanıcının ? Lang = unknownlang? Değerini ayarlaması durumunda yüklenmesi gereken bir varsayılan yerel ayarı tanımlamak mümkün mü? Benim yay servlet.xml olarakVarsayılan yerel ayarı tanımlayın ve Spring Locale Interceptor

i var:? Ayrıca

<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.CookieLocaleResolver"> 
    <property name="defaultLocale" value="pt" /> 
</bean> 

i lang = p @ t gibi benim url param geçersiz karakterler belirtirseniz, bahar nasıl olur, işlenmesi gereken bir istisna atar Ben bunun hakkında?

Error 500: org.springframework.web.util.NestedServletException: Request processing failed&#59; nested exception is java.lang.IllegalArgumentException: Locale part &quot;&#39;&quot; contains invalid characters 

cevap

0

Bu sorunları çözmeyi başardım.

Varsayılan yerel ayar ile ilgili olarak, kaynak paketinde varsayılan bir .properties dosyası olduğu sürece, yayın dahili olarak çözer. Benim durumumda bir xxx_pt.properties xxx_en.properties ve bir xxx.properties olması gerekiyordu. istisna işleme için

Aslında LocaleChangeInterceptor sınıfının preHandle yöntemini geçersiz ve durum yakalamak zorundaydı:

yay servlet.xml

<bean id="localeChangeInterceptor" 
    class="com.xxx.xxx.LanguageExceptionHandler"> 
    <property name="paramName" value="lang" /> 
</bean> 

LanguageExceptionHandler.java

Buna göre t o this, geçersiz karakterler, daha yeni Spring sürümlerinde farklı şekilde ele alınmalıdır.

+1

i message.properties, messages_en-IN.properties ve messages_en-HI.properties gibi bir dosyam var ... LanguageExceptionHandler kodunu nereden yazmalı ve çalıştırmalıyım? Xml ile bahar kullanıyorum (java config değil) "java.lang.IllegalArgumentException: Locale part" en-IN "hatası var – swapyonubuntu

İlgili konular