xml 파일 대신 프로그래밍 방식으로 Spring MVC
을 구성하려고합니다. 거의 모든 것이 잘 작동하지만, ResourceBundleMessageSource
선언에 문제가 있습니다.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???
같이 표시됩니다.
경로에 문제가 있는지 또는 더 많은 매개 변수를 입력해야하는지 잘 모릅니다.
try resource.setBasename ("classpath : messages"); – fmucar
고맙지 만 작동하지 않습니다. 좀 실망 스럽네요 ... – Quaiks
그러면 ResourceBundleMessageSource에 중단 점을 두어 파일을 찾는 위치를 확인하는 것이 좋습니다. – fmucar