springwebflow:如何为流建立自己的可重新加载的resourcebundlemessagesource

idv4meu8  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(289)

SpringWebFlow 2.5.1版。
我有自己的reloadableresourcebundlemessagesource实现。我可以通过以下方式在spring mvc中成功建立它:

@Bean
    public ReloadableResourceBundleMessageSource messageSource() {
        ReloadableResourceBundleMessageSource source = new AwareReloadableResourceBundleMessageSource();
        source.setCacheSeconds(cacheSeconds);
        source.setBasename("WEB-INF/i18n/messages");
        source.setUseCodeAsDefaultMessage(true);
        source.setDefaultEncoding("UTF-8");
        return source;
    }

我的应用程序同时使用springmvc和webflow。
我想为每个流messages.properties文件准备相同的awarereloadableresourcebundlemessagesource示例。
我试过:

@Configuration
public class WebFlowConfig extends AbstractFlowConfiguration {
  ...

    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource ms = new AwareReloadableResourceBundleMessageSource();
        ms.setBasename("messages");

        System.out.println("MESSAGE SOURCE AwareReloadableResourceBundleMessageSource");
        return ms;
    }
}

但是没有调用messagesource()方法。
我看到:https://stackoverflow.com/a/8126164
非常感谢您接受任何提示/技巧/代码。

mmvthczy

mmvthczy1#

请尝试以下操作:
在validatorfactory bean中配置messagesource(),然后
在flowbuilderservices中配置ValidatorFactorybean
@bean public flowbuilderservices flowbuilderservices(){return getflowbuilderservicesbuilder().setvalidator(getvalidator()).build();}
@bean public localvalidatorfactorybean getvalidator(){localvalidatorfactorybean=new localvalidatorfactorybean();setvalidationmessagesource(messagesource());返回bean;}

相关问题