spring MVC 如何在java端获取国际化message

JesseChen0319 2013-09-04 02:34:24
在jsp端我用的是JSTL的<fmt:message>,在java端怎么获取国际化消息那?通过那个类和方法那?
...全文
855 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuxianghuang 2013-09-05
  • 打赏
  • 举报
回复
如果没有request, 就直接取 public static String getMessage(String key, Locale locale) { ResourceBundle resourceBundle = ResourceBundle.getBundle(Global.RESOURCES_PATH, locale); if (resourceBundle.containsKey(key)) { return resourceBundle.getString(key); } return key; }
郑涛 2013-09-04
  • 打赏
  • 举报
回复
国际化LocaleResolver有四个实现类
固定,根据header,session,cookie
后面连个要自己设,
主题页有类似功能
郑涛 2013-09-04
  • 打赏
  • 举报
回复
spring mvc我代码基本看过,最经典的,可扩展的 public static String getLocaleMessage(HttpServletRequest request,Object[] args,String code){ WebApplicationContext ac = RequestContextUtils.getWebApplicationContext(request); return ac.getMessage(code,args, RequestContextUtils.getLocale(request)); } args可以为null,如果你request也不提供的话可以通过threadLocale获得request /** * @return {@link HttpServletRequest} */ private static HttpServletRequest getRequest() { return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); }
快乐的2 2013-09-04
  • 打赏
  • 举报
回复
<beans:bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource" p:basenames="WEB-INF/i18n/messages" p:fallbackToSystemLocale="false" /> 配置上是这么做,获取直接用Spring的getBean获取

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧