如何在百里香中的邮件属性文件中使用自定义位置?

inC*_*rol 2 spring thymeleaf

我使用thymeleaf和spring,我的messages.properties文件需要具有与模板相同的名称,以便它们起作用。我试图使用webConfigurer.Java创建自定义路径,但是它不起作用。

WebConfigurer.java来源:

...
...
@EnableWebMvc
@EnableTransactionManagement
@Configuration
@ComponentScan({"en.irp.project.*"})
@PropertySource("classpath:/application.properties")
@Import({SecurityConfigurer.class})
public class WebConfigurer extends WebMvcConfigurerAdapter {
    ...
    ...
    ...
    @Bean(name="messageSource")
    public ReloadableResourceBundleMessageSource messageSource() {
        ReloadableResourceBundleMessageSource resource = new ReloadableResourceBundleMessageSource();
        resource.setBasename("WEB-INF/languages/messages");
        resource.setDefaultEncoding("UTF-8");
        return resource;
    }

    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor() {
        LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
        localeChangeInterceptor.setParamName("language");
        return localeChangeInterceptor;
    }

    @Bean(name = "localeResolver")
    public SessionLocaleResolver localeResolver() {
        SessionLocaleResolver localeResolver = new SessionLocaleResolver();
        localeResolver.setDefaultLocale(new Locale("en"));
        return localeResolver;
    }
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

emr*_*kgn 5

仅供将来参考。

如果使用Spring Boot,还可以在application.properties文件中设置其自定义位置:

spring.messages.basename=i18n/messages
Run Code Online (Sandbox Code Playgroud)

Javadoc:

逗号分隔的基本名称列表,每个基本名称遵循ResourceBundle约定。本质上是完全合格的类路径位置。如果它不包含包限定符(例如“ org.mypackage”),它将从类路径根目录中解析。