Internacionalização de Javaweb
DateFormat: uma classe de ferramentas que formatos datas, que por si só é uma classe abstrata;
NumberFormat: uma classe de caracteres que formata números para seqüências numéricas ou seqüências de moedas;
MessageFormat: você pode formatar a sequência de padrões, string de padrões: string com espaço reservado: "Data: {0}, salário: {1}", você pode formatar a sequência de padrões através do método do formato.
ResourceBundle: Classe de pacote de recursos, o arquivo de recursos correspondente precisa ser incluído no ClassPath (SRC): Basename.properties. onde o nome da base é o nome base;
O nome do arquivo é: test_zh_cn.properties, o arquivo é: date =/u65e5/u671f, salário =/u5de5/u8d44
O nome do arquivo é: test_en_us.properties, o arquivo é: data = data, salário = salário
importar java.text.dateFormat; importar java.text.messageFormat; importar java.text.numberFormat; importar java.text.parseException; import java.text.simpledEformat; import java.ut.utate; import java.util.locale; org.junit.test; public Classe i18ntest { /*** ResourceBundle: Resource Package Class. * * 1. Existe um arquivo de recursos correspondente no ClassPath: Basename.properties. onde o nome da base é o nome base. * 2. Você pode usar o nome base_language code_country code.properties para adicionar arquivos de recursos de diferentes países ou regiões. i18n_zh_cn.properties * 3. É necessário que as teclas de todos os arquivos de recursos com o mesmo nome base sejam exatamente iguais. * 4. Você pode usar o comando nativo2ascii para obter o código ASC de um par de caracteres chinês. O Eclipse possui ferramentas internas* 5. Você pode chamar o getBundle (nome da base, instância de localidade) do ResourceBundle para obter o objeto ResourceBundle* 6. Você pode chamar o gettring (chave) do ResourceBundle para obter a sequência de valores do arquivo de recursos. * 7. Combinado com DateFormat, NumberFormat, MessageFormat pode alcançar a internacionalização. * */ @Test public void testResourceBundle () {Locale Locale = Locale.china; ResourceBundle ResourceBundle = ResourceBundle.getBundle ("Test", Locale); System.out.println (ResourceBundle.getString ("Date")); System.out.println (ResourceBundle.getString ("Salário")); String datelabel = ResourceBundle.getString ("Date"); String Sallabel = ResourceBundle.getString ("Salário"); String str = "{0}: {1}, {2}: {3}"; Data data = new Date (); Sal duplo = 12345.12; DateFormat DateFormat = DateFormat.GetDateInstance (DateFormat.Medium, Locale); String datestr = dateFormat.Format (DATE); NumberFormat numberFormat = numberFormat.GetCurrencyInstance (Locale); String salstr = numberFormat.format (sal); String result = MessageFormat.Format (STR, Datelabel, DATEST, Sallabel, Salstr); System.out.println (resultado); } / *** MessageFormat: Você pode formatar a sequência de padrões* Pattern String: String com espaço reservado: "Data: {0}, salário: {1}"* A sequência de padrões pode ser formatada através do método de formato* / @Test public void testMessAFformat () {String str = "Data: {0}, Salário: {1 {1} 1 {String; Locale Locale = Locale.china; Data data = new Date (); Sal duplo = 12345.12; DateFormat DateFormat = DateFormat.GetDateInstance (DateFormat.Medium, Locale); String datestr = dateFormat.Format (DATE); NumberFormat numberFormat = numberFormat.GetCurrencyInstance (Locale); String salstr = numberFormat.format (sal); String resultado = messageFormat.Format (STR, DATEST, Salstr); System.out.println (resultado); } /*** NumberFormat: Classe da ferramenta para formatar números em seqüências numéricas ou cadeias de moeda* 1. Obtenha o objeto NumberFormat através do método da fábrica* numberFormat.getNumberInstance (Locale); // strings formatados como números* numberFormat.GetCurrencyInstance (Locale); // Strings formatados como moeda** 2. Método de formato* 3. Paresia uma string em um tipo de número através do método parse. */ @Test public void testNumberFormat () lança parseException {Double d = 123456789.123d; Locale Locale = Locale.France; // numberFormat numberFormat = numberFormat.getNumberInstance (Locale); String str = numberFormat.Format (d); System.out.println (str); NumberFormat numberFormat2 = numberFormat.GetCurrencyInstance (Locale); str = numberFormat2.Format (d); System.out.println (str); str = "123 456 789.123"; d = (duplo) numberFormat.parse (str); System.out.println (d); str = "123 456 789,12; d = (duplo) numberFormat2.Parse (str); system.out.println (d);} / * 7 7. Se houver uma string, como analisá -lo em um objeto de data e o que é um objeto de data e string) e o que é o padronizado, o que é o padronizado. AAnyyy-mm-dd hh: mm: ss * ii O STR); alocale) * 3. Você pode obter o objeto DateFormat que apenas formata o tempo: getTimeInstance (Int Style, Locale Almocale) * 4. Você pode obter o objeto DateFormat que formata a data e a hora: * GetDateTimeInstance (DATESTYLE INT, INT Timestyle, Locale alocale) * 5. Locale é o objeto de localidade que representa o país e a região* 6. Formato um objeto de data para uma string através do método de formato de dataFormat. */ @Test public void testDateFormat () {Locale Locale = Locale.us; Data data = new Date (); System.out.println (data); // obtive dateFormat Object DateFormat DateFormat = DateFormat.GetDatETimeInstance (DateFormat.long, DateFormat.Medium, Locale); String str = DateFormat.Format (Data); System.out.println (str); } /*** Local: uma classe que representa um país ou região em Java. Muitas constantes são fornecidas no JDK. * Você também pode criá -lo através do Locale (LanguageCode, CountryCode) * No Web Applications, você pode obtê -lo através do método request.getLocale (). */ @Test public void testlocale () {Locale Locale = Locale.china; System.out.println (Locale.getDisplayCountry ()); System.out.println (Locale.getLanguage ()); Locale = New Locale ("EN", "nós"); System.out.println (Locale.getDisplayCountry ()); System.out.println (Locale.getLanguage ()); }}O exposto acima é uma compilação da internacionalização da web java. Continuaremos a adicionar informações relevantes no futuro. Obrigado pelo seu apoio a este site!