Internationalisation de Javaweb
DateFormat: une classe d'outils qui formate les dates, qui est elle-même une classe abstraite;
NumberFormat: une classe de caractères qui forme des nombres vers des chaînes numériques ou des chaînes de devises;
MessageFormat: vous pouvez formater la chaîne de modèle, chaîne de modèle: chaîne avec les espaces réservés: "Date: {0}, salaire: {1}", vous pouvez formater la chaîne de modèle via la méthode du format.
ResourceBundle: Classe de packages de ressources, le fichier de ressources correspondant doit être inclus dans le ClassPath (SRC): Basename.Properties. où le nom de base est le nom de base;
Le nom du fichier est: test_zh_cn.properties, le fichier est: date = / u65e5 / u671f, salaire = / u5de5 / u8d44
Le nom du fichier est: test_en_us.properties, le fichier est: date = date, salaire = salaire
import java.text.dateformat; import java.text.messageformat; import java.text.numberformat; import java.text.parseException; import java.text.simpledateFormat; import java.util.date; I18Nest {/ ** * ResourceBundle: Classe de package de ressources. * * 1. Il y a un fichier de ressources correspondant sous le chemin de classe: Basename.properties. où le nom de base est le nom de base. * 2. Vous pouvez utiliser le nom de base_language code_country code.properties pour ajouter des fichiers de ressources de différents pays ou régions. i18n_zh_cn.properties * 3. Il est nécessaire que les clés de tous les fichiers de ressource avec le même nom de base soient exactement les mêmes. * 4. Vous pouvez utiliser la commande native2ascii pour obtenir le code ASC d'une paire de caractères chinoise. Eclipse a des outils intégrés * 5. Vous pouvez appeler le getBundle (nom de base, instance locale) de ResourceBundle pour obtenir l'objet ResourceBundle * 6. Vous pouvez appeler la GetString (clé) de ResourceBundle pour obtenir la chaîne de valeur du fichier de ressources. * 7. Combiné avec DateFormat, NumberFormat, MessageFormat peut atteindre l'internationalisation. * * / @Test public void TestResourceBundle () {Locale Locale = Locale.china; ResourceBundle ResourceBundle = ResourceBundle.getBundle ("Test", Locale); System.out.println (ressourcebundle.getString ("Date")); System.out.println (ressourcebundle.getString ("salaire")); String DateLabel = ResourceBundle.getString ("Date"); String Sallabel = ResourceBundle.getString ("salaire"); String str = "{0}: {1}, {2}: {3}"; Date de date = new Date (); double sal = 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, Datestr, Sallabel, SALSTR); System.out.println (résultat); } / ** * MessageFormat: vous pouvez formater la chaîne de modèle * String de modèle: chaîne avec les espaces réservés: "Date: {0}, salaire: {1}" * La chaîne de modèle peut être formatée via la méthode de format * / @Test public void testMessageFormat () {String str = "Date: {0}, salaire: {1}"; Locale locale = Locale.china; Date de date = new Date (); double sal = 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, Datestr, SALSTR); System.out.println (résultat); } / ** * NumberFormat: classe d'outils pour la mise en forme des nombres en chaînes numériques, ou chaînes de devises * 1. Obtenez un objet NumberFormat via la méthode d'usine * NumberFormat.GetNumberInstance (Locale); // chaînes formatées sous forme de nombres * NumberFormat.getCurrencyInstance (Locale); // chaînes formatées sous forme de devise * * 2. Méthode de format * 3. Analyse une chaîne dans un type de nombre via la méthode Parse. * / @Test public void testNumberFormat () lève 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 = (double) NumberFormat.Parse (str); System.out.println (D); str = "123 456 789,12; d = (double) NumberFormat2.Parse (str); System.out.println (d);} / * * 7. S'il y a une chaîne, comment l'analyser dans un objet date? yyyy-mm-dd hh: mm: ss * ii. dateformat. Locale ALOCALE) * 3. Vous pouvez obtenir l'objet DateFormat qui ne formate que l'heure: getTimeInstance (style int, Locale Alocale) * 4. Vous pouvez obtenir l'objet DateFormat qui formats à la fois la date et l'heure: * GetDateTimeInstance (INT Datestyle, INTRESTYLE, LCOCALE ALOCALE) * 5. La valeur du style peut être: Constants de Dateformat: court, moyen, moyen, complet. Les paramètres régionaux sont l'objet local représentant le pays et la région * 6. Format un objet Date à une chaîne via la méthode du format de DateFormat. * / @Test public void testDateFormat () {Locale Locale = Locale.us; Date de date = new Date (); System.out.println (date); // Object DateFormat Object DateFormat DateFormat = DateFormat.getDateTimeInstance (DateFormat.Long, DateFormat.Medium, Locale); String str = dateFormat.format (date); System.out.println (STR); } / ** * Locale: une classe qui représente un pays ou une région à Java. De nombreuses constantes sont fournies dans le JDK. * Vous pouvez également le créer via les paramètres régionaux (LanguageCode, Countrycode) * Dans les applications Web, vous pouvez l'obtenir via la méthode request.getLocale (). * / @Test public void TestLocale () {Locale Locale = Locale.china; System.out.println (locale.getDisplayCountry ()); System.out.println (locale.getLanguage ()); LOCALE = NOUVEAU LES LOCAUX ("EN", "US"); System.out.println (locale.getDisplayCountry ()); System.out.println (locale.getLanguage ()); }}Ce qui précède est une compilation de l'internationalisation du Web Java. Nous continuerons d'ajouter des informations pertinentes à l'avenir. Merci pour votre soutien à ce site!