Spring   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Spring中处理多个文件和消息以进行国际化?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一些关于Spring国际化的文章讲述了如何交换传递语言环境等的消息,但我只发现包含一些消息的用例.

>我如何根据上下文组织和使用国际化@L_674_2@? (验证,查看消息,认消息,业务消息)
>我知道Spring使用了模式(定义了消息@L_674_2@的名称)
语言环境.例如:message_zh_CN.如何知道每个上下文的@L_674_2@
关于这种行为?

我认为它应该是:

@R_874_5550@es
`-- messages
    |-- validation
    |   |-- message_locale.properties
    |   `-- message_locale2.properties
    |-- business
    |   |-- message_locale.properties
    |   `-- message_locale2.properties
    `-- view
        |-- message_locale.properties
        `-- message_locale2.properties

要么:

@R_874_5550@es
`-- messages
    |-- validation
    |   |-- validation_locale.properties
    |   `-- validation_locale2.properties
    |-- business
    |   |-- business_locale.properties
    |   `-- business_locale2.properties
    `-- view
        |-- view_locale.properties
        `-- view_locale2.properties
最佳答案
您可以为所有这些不同的消息@L_674_2@定义全局messagesource.使用setBasenames方法这种方法很实用:

@Bean
public messagesource messagesource() {
    Reloadable@R_874_5550@eBundlemessagesource messagesource = 
                                               new Reloadable@R_874_5550@eBundlemessagesource();
    messagesource.setBasenames("classpath:/messages/business/message","classpath:/messages/validation/message","classpath:/messages/view/message");

    return messagesource;
}

如果您的消息密钥在所有@L_674_2@中都是唯一的,例如,business-12密钥仅退出与业务相关的消息源.否则,最好为每个上下文定义一个messagesource并根据您的上下文注入它们:

@Bean
public messagesource businessmessagesource() {
    Reloadable@R_874_5550@eBundlemessagesource messagesource = 
                                               new Reloadable@R_874_5550@eBundlemessagesource();
    messagesource.setBasename("classpath:/messages/business/message");

    return messagesource;
}

@Bean
public messagesource validationmessagesource() {
    Reloadable@R_874_5550@eBundlemessagesource messagesource = 
                                               new Reloadable@R_874_5550@eBundlemessagesource();
    messagesource.setBasename("classpath:/messages/validation/message");

    return messagesource;
}

@Bean
public messagesource viewmessagesource() {
    Reloadable@R_874_5550@eBundlemessagesource messagesource = 
                                               new Reloadable@R_874_5550@eBundlemessagesource();
    messagesource.setBasename("classpath:/messages/view/message");

    return messagesource;
}

大佬总结

以上是大佬教程为你收集整理的如何在Spring中处理多个文件和消息以进行国际化?全部内容,希望文章能够帮你解决如何在Spring中处理多个文件和消息以进行国际化?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。