有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在数据库中保存语言环境

在使用JDK 7的JSF 2.1应用程序中,我寻找了一个解决方案,为用户提供保存他们首选语言的可能性。因此,在下次登录时,应该从数据库接收到该语言,并用默认语言(浏览器)替换。 我现在唯一的问题是,如何保存java。util。我数据库中的语言环境? 经过数小时的谷歌搜索,我发现JDK 7中有一个新功能,即“forLanguageTag工厂方法”。此方法返回一个区域设置,只需要IETF BCP 47标准字符串

这听起来很简单,对我来说很棒。但是我如何从现有的语言环境中获取这个“IETF BCP 47标准”字符串呢?我查看了API,但没有发现任何可与“IETF BCP 47标准”相比的内容


共 (2) 个答案

  1. # 1 楼答案

    如果您只是对该语言感兴趣,只需使用^{}将区域设置转换为字符串,使用^{}将字符串转换为区域设置即可

    如果要存储整个区域设置,请使用^{}和一个在_上拆分的自定义方法将字符串转换为区域设置的三个部分

  2. # 2 楼答案

    考虑Locale.toLanguageTag

    Returns a well-formed IETF BCP 47 language tag representing [a] locale.

    用法示例:

    String expectedTag = "en-US";
    Locale locale = Locale.forLanguageTag( expectedTag );
    String actualTag = locale.toLanguageTag();
    Assert.assertEquals( expectedTag, actualTag );
    

    注意:如javadocs中所述,存在一些限制