Java 如何针对不同的应用程序上下文在同一屏幕上获取不同的Spring标签消息

Java 如何针对不同的应用程序上下文在同一屏幕上获取不同的Spring标签消息,java,spring,spring-mvc,resourcebundle,Java,Spring,Spring Mvc,Resourcebundle,在一个应用程序中,我有不同的上下文(比如A和B),这两个上下文使用相同的屏幕,但我在屏幕字段上显示了不同的标签名称 资源包如下所示 对于上下文A,sample.code=来自应用程序A的文本进入samam辩诉.properties 对于上下文B,sample.code=来自应用程序B的文本进入sampleB.properties 而且,我可以区分上下文和会话属性。在这种情况下,我如何覆盖Spring MessageTag并根据上下文集读取消息 JSP: 感谢您的帮助。为不同的servlet上下文

在一个应用程序中,我有不同的上下文(比如A和B),这两个上下文使用相同的屏幕,但我在屏幕字段上显示了不同的标签名称

资源包如下所示

对于上下文A,
sample.code=来自应用程序A的文本进入
samam辩诉.properties

对于上下文B,
sample.code=来自应用程序B的文本进入
sampleB.properties

而且,我可以区分上下文和会话属性。在这种情况下,我如何覆盖
Spring MessageTag
并根据上下文集读取消息

JSP:

感谢您的帮助。

为不同的servlet上下文配置单独注册

例如,在AbstractAnnotationConfigDispatchersServletInitializer上

@Override
public void onStartup(ServletContext servletContext) throws ServletException {
    // root context
    AnnotationConfigWebApplicationContext rootContext =
            new AnnotationConfigWebApplicationContext();
    rootContext.register(RootConfig.class); // configuration class for root context

    servletContext.addListener(new ContextLoaderListener(rootContext));

    // dispatcher servlet 1
    AnnotationConfigWebApplicationContext webContext1 = 
            new AnnotationConfigWebApplicationContext();
    webContext1.setParent(rootContext);
    webContext1.register(WebConfig1.class); // configuration class for servlet 1

    ServletRegistration.Dynamic dispatcher1 =
    servletContext.addServlet("dispatcher1", new DispatcherServlet(webContext1));
    dispatcher1.setLoadOnStartup(1);
    dispatcher1.addMapping("/subcontext1");

    // dispatcher servlet 2
   AnnotationConfigWebApplicationContext webContext2 = 
            new AnnotationConfigWebApplicationContext();
    webContext1.setParent(rootContext);
    webContext1.register(WebConfig2.class); // configuration class for servlet 1

    ServletRegistration.Dynamic dispatcher2 =
    servletContext.addServlet("dispatcher2", new DispatcherServlet(webContext2));
    dispatcher2.setLoadOnStartup(1);
    dispatcher2.addMapping("/subcontext1");

}
网络配置1

@Bean
    public ResourceBundleMessageSource configureResourceBundleMessageSource() {
    ResourceBundleMessageSource resource = new ResourceBundleMessageSource();
    resource.setBasename("sampleA");
    return resource;
}
网络配置2

@Bean
    public ResourceBundleMessageSource configureResourceBundleMessageSource() {
    ResourceBundleMessageSource resource = new ResourceBundleMessageSource();
    resource.setBasename("sampleB");
    return resource;
}