私はSpring MVCでの新しい作業ですが、多言語をアプリケーションに追加する際にいくつか問題があります。春の多言語
xml構成を使用しません。私はデ・アプリケーションをテストするとき、私はいつも、私はデフォルト言語(スペイン語)を参照してください@Configurationクラス
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
import org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages="com.springexamples.basic.controller")
public class BasicServletConfig extends BaseConfig {
@Bean
ViewResolver viewResolver() {
return getViewResolver("views/basic/", ".jsp");
}
@Bean
MessageSource messageSource() {
return getMessageSource("/messages/messages");
}
@Bean
LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
interceptor.setParamName("lang");
return interceptor;
}
@Bean
LocaleResolver localeResolver() {
return new SessionLocaleResolver();
}
@Bean
HandlerMapping handlerMapping() {
SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
mapping.setInterceptors(new HandlerInterceptor[] { localeChangeInterceptor() });
return mapping;
}
}
を持っています。私はパラメータ 'lang = en'または 'lang = EN'でリクエストを送信しますが、それでもデフォルト言語で表示されます。
¿誰でも解決策を知っていますか?
おかげで、
BaseConfig'は、標準的な春のクラスではありません 'として、あなたは' BaseConfig.getMessageSource() 'のコードを表示することができます。 – beny23
'コード' \t保護ViewResolver getViewResolver(文字列の接頭辞、接尾辞文字列){ \t \t InternalResourceViewResolverレゾルバ=新しいInternalResourceViewResolver()。 \t \t resolver.setPrefix(接頭辞); \t \t resolver.setSuffix(接尾辞); \t \tリターンリゾルバ; \t} \t \t MessageSource getMessageSource(文字列messagefileを){ \t \t ReloadableResourceBundleMessageSource messageSource =新しいReloadableResourceBundleMessageSource()保護されました。 \t \t messageSource.setBasename(messageFile); \t \t messageSource.setCacheSeconds(15); \t \t返信messageSource; \t} } – Krusader
テキストのように。 – Krusader