Serviciul Internationalization |
|
|
Configurare şi rulare | Note tehnice | Javadoc | Construire cu Ant |
Localizarea tabelelor de bază de date |
Localizarea codului sursă |
Examinarea notelor despre codare |
Folosirea serviciului Internationalization |
account | name | password | Balance |
123 | Kevin | user | 6000 |
345 | David | user | 5000 |
Pentru a deschide baza de date şi vizualiza tabela, consultaţi ghidul utilizatorului bazei de date Cloudscape. Când rulaţi exemplul, folosiţi contul dumneavoastră de utilizator şi parola pentru a vă loga.
z/OS: Codul sursă pentru Exemple nu este furnizat pe platforma z/OS deoarece aplicaţiile Exemplu nu sunt construite pe platforma z/OS.
Citiţi următoarele note despre Model:
Bean-urile sesiune sunt scrise pentru a ascunde CMP. În general, se consideră o practică mai bună livrarea de bean-uri sesiune, care furnizează metode simple aplicaţiei, în loc de a da acces liber aplicaţiei la bean-urile entitate CMP individuale.
Citiţi următoarele note despre Vizualizare:
Fişierul CurrencyServlet.java procesează cererile venite de la browser-ul HTTP, apelează metodele bean-ului corespunzător (Exchange) şi dispecerizează contextul corespunzător la pagina JSP.
Următorii paşi de programare demonstrează cum să folosiţi serviciul Internationalization:
import com.ibm.websphere.i18n.context.UserInternationalization; import com.ibm.websphere.i18n.context.Internationalization; import com.ibm.websphere.i18n.context.InvocationInternationalization; import java.util.Locale; import java.util.SimpleTimeZone; import java.util.TimeZone;
private UserInternationalization userI18n = null; private Internationalization callerI18 = null; private InvocationInternationalization invI18n = null; public static final String USERI18N_URL = "java:comp/websphere/UserInternationalization"; try { Context initialContext = new InitialContext(); userI18n = (UserInternationalization) initialContext.lookup(USERI18N_URL); callerI18n = userI18n.getCallerInternationalization(); invI18n = userI18n.getInvocationInternationalization(); } catch (NamingException ne) { //Error: Cannot resolve UserInternationalization } catch (IllegalStateException ise) { //Error: UserInternationalization is not available }
//Caller Internationalization read functions Locale callerL = null; SimpleTimeZone callerTz = null; Locale[] callerLL = null; try { callerL = callerI18n.getLocale(); callerTz = (SimpleTimeZone) callerI18n.getTimeZone(); callerLL = callerI18n.getLocales(); } catch (IllegalStateException ise) { //Error: An anomaly occurred while accessing Caller Internationalization context }
//Invocation Internationalization read functions Locale invL = null; SimpleTimeZone invTz = null; Locale[] invLL = null; try { invL = invI18n.getLocale(); invTz = (SimpleTimeZone) invI18n.getTimeZone(); invLL = invI18n.getLocales(); } catch (IllegalStateException ise) { //Error: An anomaly occurred while accessing Invocation Internationalization context }
Locale[] locales = new Locale[] { Locale.US, Locale.CHINA, Locale.FRANCE }; Locale callerL = Locale.GERMAN; SimpleTimeZone stz = new SimpleTimeZone(0, "CST", 1, 1, 1, 1, 2, 2, 2, 2); //Invocation Internationalization write functions try { invI18n.setLocales(locales); invI18n.setLocale(locale); invI18n.setTimeZone(stz); invI18n.setTimeZone("PST"); } catch (IllegalStateException ise) { //Error: An anomaly occurred while setting Invocation Internationalization context }