如何在java中获取语言环境对象?
问题描述:
我在框架Spring和Liferay中使用Java。 使用liferay我知道如何获得一个语言环境(有一些信息的对象:语言,国家......),但现在我在一个没有与liferay连接的java类,我不知道如何获得一个语言环境对象得到语言。如何在java中获取语言环境对象?
例如,我有一个测试类我的网页的下一个方法:
private void checkEnglishText(String contentXml) {
CarContentGenerator esCarGeneratorObject = new CarContentGenerator();
HashMap<String, CarContentVo> hm = esCarGeneratorObject.getCar(contentXml);
CarContentVo ccvo = hm.get("EPPA0418");
Assert.assertEquals(ccvo.getCarCodes(), "empress");
}
这里我打电话给CarContentGenerator构造,这种构造是:
public CarContentGenerator() {
link = new LinkVo();
links = new ArrayList<LinkVo>();
itinerary = new ArrayList<LinkVo>();
lpackageId = new ArrayList<String>();
contentVo = new ContentVo();
mapCar = new HashMap<String, CarContentVo>();
this.locale = "en_US";
}
你可以看到,我将值“en_US”赋予变量区域设置。 “EN_US”意味着我的页面
将用英语显示,如果我写的“es_ES”将在西班牙进行显示,这样..我的dought
是..难道有人知道如何找出语言(在我的情况下“en_US”或“es_EN”)其中是我的
网页? (从请求或东西得到它)
答
有是一个Java类java.lang.Locale,您可以通过代码获得的实例如下所示:
final Locale american = new Locale("en", "US");
final Locale spanish = new Locale("es", "ES");
所以,你应该能够以此为当您没有Liferay连接时,您的语言环境对象。可以将这些区域设置传递到支持区域敏感操作的各种JDK类(例如NumberFormat
和Currency
),并且可以直接查询基本信息。
至于你的最后一个问题 - 我认为这太宽泛了,目前没有任何信息回答。目前,这个问题仅仅是“如何在'我的网页'和'我的代码'之间传递几个字节的静态信息?”实际上有数百种可能的方式来做到这一点,最好的/最简单的方法取决于很多无聊的细节,比如你的启动脚本,哪些技术在不同的地方使用等等。如果你需要更多的帮助,那么我相信你已经必须发布填补所有这些差距的非常具体的问题。