国际化java Web服务错误消息

时间:2015-08-14 03:57:53

标签: java internationalization

使用Java rest Web服务,处理错误消息国际化和本地化的最佳方法是什么? 我没有jsp页面或任何UI。我有Web服务,我必须根据请求中的区域设置返回错误代码和错误消息。

我检查了jErr框架,但是找不到任何其他框架。还有其他选择吗? 请帮助我做最好的方法。
我查看了这篇帖子How to externalize error messages,这与我的问题非常相似,但我没有任何客户端编码。所以我真的怀疑我是否可以使用资源包

2 个答案:

答案 0 :(得分:1)

ResourceBundle不限于在客户端代码中使用。它是一个通用的抽象,无论它在何处使用。

您可以拥有多个属性文件 1. ApplicationMessages.properties 2. ApplicationMessages_fr_FR.properties(法语)

你可以在你的错误解析器逻辑中

ResourceBundle bundle = ResourceBundle.getBundle("ApplicationMessages",The locale you get from request);
String errorMsg = bundle.getString("502");

无论你喜欢什么,都要使用这个errorMsg。将其设置为响应或记录等。

答案 1 :(得分:0)

您可以这样使用ResourceBundle

Locale locale = new Locale("fr", "CA");
ResourceBundle errors = ResourceBundle.getBundle("errors", locale);
System.out.println(errors.getString("user.notFound"));

首先创建一个Locale实例(您说您在请求中获取了区域设置),然后将其与要加载的资源包的名称一起传递给ResourceBundle.getBundle()方法。

参考:

http://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html#getBundle-java.lang.String-java.util.Locale-