Internacionalización de Javaweb
DateFormat: una clase de herramientas que formatea las fechas, que es una clase abstracta;
NumberFormat: una clase de caracteres que formatea números a cadenas numéricas o cadenas de divisas;
MessageFormat: puede formatear la cadena de patrón, cadena de patrón: cadena con marcadores de posición: "fecha: {0}, salario: {1}", puede formatear la cadena de patrón a través del método de formato.
ResourceBundle: Clase de paquete de recursos, el archivo de recursos correspondiente debe incluirse en ClassPath (SRC): Basename.Properties. donde el nombre de base es el nombre base;
El nombre del archivo es: test_zh_cn.properties, el archivo es: date =/u65e5/u671f, salario =/u5de5/u8d44
El nombre del archivo es: test_en_us.properties, el archivo es: date = date, salario = salario
import java.text.dateFormat; import java.text.messageformat; import java.text.numberFormat; import java.text.parseException; import java.text.simpledateFormat; import java.util.date; import java.util.locale; import java.util.resurcebundle; org.junit.test; clase pública I18NTest { /*** ResourceBundle: Clase de paquete de recursos. * * 1. Hay un archivo de recursos correspondiente en ClassPath: Basename.Properties. donde el nombre de base es el nombre base. * 2. Puede usar el código base_language Code_country Code.Properties para agregar archivos de recursos de diferentes países o regiones. I18N_ZH_CN.Properties * 3. Se requiere que las claves de todos los archivos de recursos con el mismo nombre base deben ser exactamente las mismas. * 4. Puede usar el comando national2ascii para obtener el código ASC de un par de caracteres chino. Eclipse tiene herramientas incorporadas* 5. Puede llamar al getBundle (nombre base, instancia local) de ResourceBundle para obtener el objeto ResourceBundle* 6. Puede llamar a GetString (clave) de ResourceBundle para obtener la cadena de valor del archivo de recursos. * 7. Combinado con DateFormat, NumberFormat, MessageFormat puede lograr la internacionalización. * */ @Test public void testResourceBundle () {loce locale = locale.china; ResourceBundle ResourceBundle = ResourceBundle.getBundle ("Test", locale); System.out.println (recourceBundle.getString ("fecha")); System.out.println (recourcebundle.getString ("salario")); Cadena dataLabel = ResourceBundle.getString ("Date"); String Sallabel = ResourceBundle.getString ("Salario"); Cadena str = "{0}: {1}, {2}: {3}"; Fecha fecha = nueva fecha (); sal de doble = 12345.12; DateFormat dateFormat = dateFormat.getDateInStance (dateFormat.Medium, locale); String datstr = dateFormat.format (date); NumberFormat numberFormat = numberFormat.getCurrencyInstance (locale); Cadena salstr = numberFormat.format (sal); String result = MessageFormat.Format (Str, DataLabel, Datstr, Sallabel, Salstr); System.out.println (resultado); } / *** MessageFormat: puede formatear la cadena de patrón* cadena de patrón: cadena con marcadores de posición: "fecha: {0}, salario: {1}"* La cadena de patrón puede formatearse a través del método de formato* / @test public void testMessageFormat () {String Str = "Date: {0}, salario: {1}"; Locale locale = locale.china; Fecha fecha = nueva fecha (); sal de doble = 12345.12; DateFormat dateFormat = dateFormat.getDateInStance (dateFormat.Medium, locale); String datstr = dateFormat.format (date); NumberFormat numberFormat = numberFormat.getCurrencyInstance (locale); Cadena salstr = numberFormat.format (sal); String result = MessageFormat.Format (str, datestr, salstr); System.out.println (resultado); } /*** NumberFormat: Clase de herramienta para formatear números a cadenas numéricas o cadenas de divisas* 1. Obtenga el objeto NumberFormat a través del método de fábrica* numberFormat.getNumberInstance (locale); // cadenas formateadas como números* numberFormat.getCurrencyInstance (locale); // cadenas formateadas como moneda** 2. Método de formato* 3. Analiza una cadena en un tipo de tipo a través del método de análisis. */ @Test public void testNumberFormat () lanza ParseException {double d = 123456789.123d; Locale locale = locale.france; // numberFormat numberFormat = numberFormat.getNumberInstance (locale); Cadena 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 = (doble) NumberFormat.Parse (STR); System.out.println (d); str = "123 456 789,12; d = (doble) numberFormat2.parse (str); system.out.println (d);} / * * 7. Si hay una cadena, cómo hacerla en un objeto de fecha? * I. Crear un objeto de Fecha First: Crear una subclase de FATAFORMAT SimpledAnformat * SimpleFormat (String Pattern). * Donde el Patrón es el Patrón de la Fecha de la Fecha: el Tiempo de la Fecha de la Fecha: para el Tiempo de la Fecha de Fecha: yyyy-mm-dd hh: mm: ss * ii. DateFormat.Parse (STR); Alocale) * 3. Puede obtener el objeto DateFormat que solo formatea la hora: GetTimeInstance (Int Style, locale Alocale) * 4. Puede obtener el objeto DateFormat que formatea tanto la fecha como la hora: * getDateTimeInstance (Intestyle, int timestyle, loce alocale) * 5. El valor del estilo puede ser: constantes de la fecha: fechinformle: corto, medio, largo, completo. La localización es el objeto local que representa el país y la región* 6. Formateo de un objeto de fecha a una cadena a través del método de formato de dateFormat. */ @Test public void testDateFormat () {locale locale = locale.us; Fecha fecha = nueva fecha (); System.out.println (fecha); // Obtener el objeto DateFormat dateFormat dateFormat = dateFormat.getDateTimeInstance (dateFormat.long, dateFormat.Medium, locale); Cadena str = dateFormat.Format (date); System.out.println (str); } /*** Local: una clase que representa un país o región en Java. Se proporcionan muchas constantes en el JDK. * También puede crearlo a través de locale (languageCode, countrycode) * En aplicaciones web, puede obtenerlo a través del método request.getLocale (). */ @Test public void testLocale () {loce locale = locale.china; System.out.println (locale.getDisplayCountry ()); System.out.println (locale.getLanguage ()); locale = new Locale ("EN", "US"); System.out.println (locale.getDisplayCountry ()); System.out.println (locale.getLanguage ()); }}Lo anterior es una compilación de la internacionalización de Java Web. Continuaremos agregando información relevante en el futuro. ¡Gracias por su apoyo a este sitio!