gpt4 book ai didi

spring-mvc - 以编程方式配置 ResourceBundleMessageSource

转载 作者:行者123 更新时间:2023-12-02 20:24:35 27 4
gpt4 key购买 nike

我正在尝试以编程方式配置 Spring MVC 而不是 xml 文件。几乎一切都工作正常,但我在 ResourceBundleMessageSource 声明方面遇到了麻烦。

我的配置类如下所示:

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "xx.xx.xx.spring.controller")

public class MvcConfig {

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

@Bean
public UrlBasedViewResolver configureUrlBasedViewResolver() {
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
resolver.setViewClass(
org.springframework.web.servlet.view.JstlView.class);
return resolver;
}
}

我的初始化程序是这样的:

public class Initializer implements WebApplicationInitializer {

public void onStartup(ServletContext servletContext)
throws ServletException {

AnnotationConfigWebApplicationContext mvcContext =
new AnnotationConfigWebApplicationContext();
mvcContext.register(MvcConfig.class);
mvcContext.setServletContext(servletContext);
mvcContext.refresh();
ServletRegistration.Dynamic menu = servletContext.addServlet("menu",
new DispatcherServlet(mvcContext));
menu.setLoadOnStartup(1);
menu.addMapping("*.html");
}
}

应用程序正在运行,但未显示来自位于 /WEB-INF/classes/messages.properties 中的 messages.properties 的消息。如果我使用 xml 文件,它也可以正常工作。

在 JSP 中我有以下行±

<fmt:message key="heading"/>

在浏览器中显示为 ???heading???

不知道是路径问题还是需要添加更多参数。

最佳答案

终于可以工作了!问题出在方法名称上。如果你想创建一个带有id的bean,bean的id就是方法的名称。因此,我已将该方法的名称 (configureResourceBundleMessageSource()) 更改为 messageSource()

关于spring-mvc - 以编程方式配置 ResourceBundleMessageSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8716443/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com