JavaDabbaDoo.org -Tu comunidad Java parlante Implementar MVC - Struts 1.2
Inicio | Cursos infosintesis.net liberados | Java EE | Registrar a un usuario en un sitio Web con Struts 1.2
Registrar a un usuario en un sitio Web con Struts 1
Paso 9: Operativa

Vista - El usuario elige el idioma de visualización de las páginas Web

En esta ocasión la internacionalización no nos la indica el navegador a través del campo Accept-Language de la cabecera del mensaje HTTP. Por el contrario va a ser el usuario quien escoja el idioma con el que quiere interactuar con la aplicación.

La primera vez que el usuario se conecta al servidor recibe la página principal (Home Page) del sitio Web. Antes de hacer clic sobre el vínculo Registro de usuario, si el usuario así lo desea puede hacer clic por ejemplo sobre el vínculo English y así de esta forma ver todos los literales del sitio Web en inglés.

Navegador - Seleccionar idioma - Formulario Registro usuuario Struts 1.2 - index.jsp

Si hacemos clic sobre el vínculo English entonces el servidor nos responde con la página principal, pero en este caso traducida al inglés.

Navegador - Seleccionar idioma - Formulario Registro usuuario Struts 1.2 - index.jsp?idioma=en

Primero de todo vamos a modificar la página principal index.jsp que nos ha creado el asistente de NetBeans en el momento que creamos el projecto Web

<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
        import="org.apache.struts.Globals, java.util.Locale"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>

<%
 Locale
locale = null;

 String strIdioma = request.getParameter("idioma");
 if (strIdioma != null) {
  if (strIdioma.equals("en")) {
   System.out.println("equals en");
   locale = new Locale("en");
   session.setAttribute(Globals.LOCALE_KEY, locale);
  } else if (strIdioma.equals("es")) {
   System.out.println("equals es");
   locale = new Locale("es");
   session.setAttribute(Globals.LOCALE_KEY, locale);
  }
 }
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Seleccionar idioma - Formulario Registro usuario Struts 1.2</title>
 <link rel="stylesheet" href="/proregusuariostruts/css2/estilos.css" type="text/css">
</head>
<body>
 <div style="left: 70px; top: 50px; position: absolute; font-size: 8px;">
  <html:link href="/proregusuariostruts/index.jsp?idioma=es">
   <bean:message key="literal.cambiarIdioma.español" />
  </html:link>
  |
  <html:link href="/proregusuariostruts/index.jsp?idioma=en">
   <bean:message key="literal.cambiarIdioma.ingles" />
  </html:link>
 </div>

 <div style="left: 70px; top: 80px; position: absolute">
  <html:link action="/registro">
   <bean:message key
="literal.registroUsuario" />
  </html:link>

 </div>
</body>
</html>

En el fichero literales/ApplicationResource.properties añadimos las llaves

literal.cambiarIdioma.español=Español
literal.cambiarIdioma.ingles=English

literal.registroUsurario=Registro de usuario
literal.camposRequeridos=Campos requeridos

literal.nombre=Nombre
literal.apellido=Apellido
literal.email=E-Mail
literal.codigoPostal=Código Postal
literal.login=Login
literal.password=Password
literal.confirmarPassword=Confirmar Password

literal.consulta.generoCine=¿Qué géneros de cine te gustan más?
literal.comedia=Comedia
literal.musical=Musical
literal.aventura=Aventura
literal.policiaco=Policiaco
literal.clasico=Clásico
literal.melodrama=Melodrama

literal.consulta.recibirDVD=¿Quieres recibir notificaciones vía e-mail sobre nuevos DVDs editados?
literal.si=Sí
literal.no=No

literal.enviar=Enviar
literal.restaurar=Restaurar

error.nombre.requerido=Nombre obligatorio
error.apellido.requerido=Apellido obligatorio
error.email.requerido=Email obligatorio
error.email.incorrecto=Email incorrecto
error.codigoPostal.requerido=Código postal obligatorio
error.codigoPostal.incorrecto=Código postal incorrecto
error.login.requerido=Login obligatorio
error.password.requerido=Password obligatorio
error.password.incorrecto=Longitud mínimo 8 carcateres
error.confirmarPassword.requerido=Confirmar password obligatorio
error.confirmarPassword.incorrecto=Los dos passwords no coinciden

errors.header=
errors.prefix=<span style="font-size: 10px; color: red" >
errors.suffix=</span>
errors.footer=

También añadimos las mismas llaves al fichero literales/ApplicationResource_en.properties

literal.cambiarIdioma.español=Español
literal.cambiarIdioma.ingles=English

literal.registroUsuario=User registry
literal.camposRequeridos=Required fields

literal.nombre=Name
literal.apellido=Surname
literal.email=E-Mail
literal.codigoPostal=Postal code
literal.login=Login
literal.password=Password
literal.confirmarPassword=Confirm Password

literal.consulta.generoCine=Which genres of movies do you like most?
literal.comedia=Comedy
literal.musical=Musical
literal.aventura=Adventure
literal.policiaco=Crime
literal.clasico=Classic
literal.melodrama=Melodrama

literal.consulta.recibirDVD=Would you like to receive notification throug your e-amil about new edited DVDs?
literal.si=Yes
literal.no=No

literal.enviar=Send
literal.restaurar=Reset

error.nombre.requerido=Name needed
error.apellido.requerido=Surname needed
error.email.requerido=Email needed
error.email.incorrecto=Email incorrect
error.codigoPostal.requerido=Postal code needed
error.codigoPostal.incorrecto=Postal code incorrect
error.login.requerido=Login needed
error.password.requerido=Password needed
error.password.incorrecto=Minimum lenth 8 characters
error.confirmarPassword.requerido=Confirm password
error.confirmarPassword.incorrecto=Both passwords doesn't match

errors.header=
errors.prefix=<span style="font-size: 10px; color: red" >
errors.suffix=</span>
errors.footer=

Página anterior
Ignasi Pérez Valls
Infosintesis Solutions Group


Junio 2009
JavaDabbaDoo.org
Tu comunidad Java parlante. Cursos abiertos, tutoriales y mucho mucho más ...