资源包Spring

Enr*_*que 6 java spring spring-mvc internationalization

如何从一个扩展自的类中的Spring MVC中的资源包中访问消息AbstractController

我试过getMessageSourceAccessor().getMessage("a.message"); 但是它抛出了这个异常:

org.springframework.web.util.NestedServletException:请求处理失败; 嵌套异常是org.springframework.context.NoSuchMessageException:在代码'a.message'下找不到locale'en'的消息.

当我在jsp中执行相同操作时,它可以正常工作

<spring:message code="a.message"/>
Run Code Online (Sandbox Code Playgroud)

小智 9

您可以在org.springframework.web.servlet.support.RequestContext类中使用其中一个getMessage()方法变体.像这样的东西有效:

protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
    RequestContext ctx = new RequestContext(request);
    String messageFromBundle = ctx.getMessage("a.message");
}
Run Code Online (Sandbox Code Playgroud)