tel./fax: +34 91 675 33 06 [email protected] - … · 2014-09-11 · entra en adictos a través de...
TRANSCRIPT
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)
tel./fax: +34 91 675 33 [email protected] - www.autentia.com
Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...
1. Desarrollo de componentes y proyectos a medida
TecnologíaDesarrolloSistemas
Gran Empresa
Producción
autentia
Certificacióno Pruebas
Verificación previa
RFP Concurso
Consultora 1
Consultora 2
Consultora 3
Equipo propio desarrolloPiloto
3a
3b
1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.
3. Arranque de proyectos basados en nuevas tecnologías
¿Qué ofrece Autentia Real Business Solutions S.L?
Para más información visítenos en: www.autentia.com
Compartimos nuestro conociemiento en: www.adictosaltrabajo.com
Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas
Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)
BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)
Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)
Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery
JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)
Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD
2. Auditoría de código y recomendaciones de mejora
4. Cursos de formación (impartidos por desarrolladores en activo)
Entra en Adictos a través de
Entrar
Contraseña
Deseo registrarmeOlvidé mi contraseña
Inicio Quiénes somos Formación Comparador de salarios Nuestro libro Más
» Estás en: Inicio Tutoriales Selección manual de idioma en la interfaz de usuario con JSF2.
Síguenos a travésde:
Catálogo de serviciosAutentia
Últimas Noticias
» ¡¡¡Terrakas 1x04 reciénsalido del horno!!!
» Estreno Terrakas 1x04:"Terraka por un día"
» Nuevos cursos de gestión dela configuración en IOS yAndroid
» La regla del Boy Scout y laOxidación del Software
» Autentia conquista los Alpes
Histórico de noticias
Ver todos los tutoriales del autor
Jose Manuel Sánchez Suárez
Consultor tecnológico de desarrollo de proyectos informáticos.
Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría yformación
Somos expertos en Java/J2EE
Fecha de publicación del tutorial: 2012-09-30 Tutorial visitado 2 veces Descargar en PDF
Selección manual de idioma en la interfaz de usuario con JSF2.
0. Índice de contenidos.
1. Introducción.2. Entorno.3. Implementación.4. Conclusiones.
1. Introducción
JSF, como framework que proporciona soporte para la generación de interfaces visuales basadas en componentes y una capade control que gestiona los eventos que se producen en el cliente, permite de una manera muy sencilla configurar lainternacionalización de literales en la vista.
El patrón que se sigue para asignar al contexto de JSF el idioma seleccionado es obtenerlo de la petición, en función delidioma que tenga asignado el cliente a nivel de navegador.
En este tutorial vamos a exponer como permitir la selección manual del idioma, por ejemplo, en una primera página de login,de modo que, en vez de asignarse el idioma a nivel de navegador, prime el idioma seleccionado por el usuario en un combo deselección.
2. Entorno.
El tutorial está escrito usando el siguiente entorno:
Hardware: Portátil MacBook Pro 15' (2.4 GHz Intel Core i7, 8GB DDR3 SDRAM).Sistema Operativo: Mac OS X Lion 10.7.4JSF 2.1.12
3. Implementación.
Primero vamos a mostrar el código necesario en esa página inicial, la de login, para pintar un combo de selección de idiomas:
Hacemos uso de un conversor para SelectItems que nos facilita la asignación directa de un objeto de tipo Locale y, con ello, elsoporte del lado de la capa de control para mostrar los idiomas disponibles, recoger el seleccionado y almacenar la selecciónen la sesión, lo proporciona el siguiente ManagedBean
123456789
10
<div id="localeSwitcher"> <h:form> <h:selectOneMenu value="#{localeSwitcher.locale}" valueChangeListener="#{localeSwitcher.localeChangeListener}" converter="selectItemsConverter" <f:selectItems value="#{localeSwitcher.supportedLocales}" var="locale" itemLabel="#{locale.displayLanguage}" itemValue="#{locale}" /> <f:ajax render="@all"/> </h:selectOneMenu> </h:form></div>
123
package com.autentia.training.web.view; import java.io.Serializable;
?
?
Selección manual de idioma en la interfaz de usuario con JSF2. http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...
1 de 3 30/09/12 00:26
Últimos Tutoriales
» Creación de plantillas DSLcon Drools
» Creación de una base dedatos embebida en memoriacon el soporte de Spring.
» Muro de Facebook: cómopublicarlo en tu web
» Jugando con JSON en Javay la librería GSON. Parte 2
» Introducción a Drools.
Últimos Tutoriales delAutor
» Creación de una base dedatos embebida en memoriacon el soporte de Spring.
» Double Opt-In y autologincon el soporte de Spring MVCy Spring Security.
» Posicionamiento decomponentes en HTML con elsoporte de CSS.
» Test de integración con Solry el soporte deEmbeddedSolrServer.
» Arrancar Solr desde unproyecto Maven con el soportede Jetty.
Categorías del Tutorial
JSF
Java Estándar
Últimas ofertas deempleo
2011-09-08Comercial - Ventas -MADRID.
2011-09-03Comercial - Ventas -VALENCIA.
2011-08-19Comercial - Compras -ALICANTE.
2011-07-12Otras Sin catalogar -MADRID.
2011-07-06Otras Sin catalogar -LUGO.
Jose Manuel Sánchezsanchezsuarezj
Como siempre, un ManagedBean debe ser un POJO de modo que los métodos setters y getters no deben tener lógica decontrol. Siguiendo esta premisa, en un método de inicialización anotado con @PostContruct recuperamos tanto el localeasignado inicialmente como el listado de idiomas soportados en la configuración de nuestro faces-config.xml.
Por último, para que las interfaces de usuario tomen el idioma seleccionado en la página inicial y asignado a la sesión,debemos incluir un elemento f:view con un atributo que apunte al método del controlador de sesión que guarda la referenciadel idioma seleccionado:
El componente f:view, hasta la llegada de facelets al mundo de JSF era obligatorio incluirlo como nodo raíz de nuestrosárboles de componentes; ahora ya no, pero si queremos asignar el locale manualmente al árbol de componentes debemosincluirlo.
Si estamos trabajando con un sistema de plantillas, solo tendremos que incluirlo en la plantilla que contiene el layout denuestra interfaz.
Si además incluimos el elemento f:view en la página de login, podremos comprobar el switch direntamente en la página deautenticación. Así, un ejemplo de la página en español:
y en inglés:
456789
101112131415161718192021222324252627282930313233343536373839404142434445464748
import java.util.List;import java.util.Locale; import javax.annotation.PostConstruct;import javax.faces.bean.ManagedBean;import javax.faces.bean.SessionScoped;import javax.faces.context.FacesContext;import javax.faces.event.ValueChangeEvent; import org.apache.commons.collections.IteratorUtils; @ManagedBean@SessionScopedpublic class LocaleSwitcher implements Serializable { private static final long serialVersionUID = 84157941310458440L; private Locale locale; private List<Locale> supportedLocales; @PostConstruct protected void init(){ locale = FacesContext.getCurrentInstance().getViewRoot().getLocale(); this.supportedLocales = IteratorUtils.toList(FacesContext.getCurrentInstance().getApplication().g } public Locale getLocale() { return locale; } public void setLocale(Locale locale) { this.locale = locale; } public void localeChangeListener(ValueChangeEvent changeEvent) { locale = ((Locale) changeEvent.getNewValue()); FacesContext.getCurrentInstance().getViewRoot().setLocale(locale); } public List<Locale> getSupportedLocales() { return supportedLocales; } }
123456789
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <f:view locale="#{localeSwitcher.locale}"><h:head>...
sanchezsuarezj Creación de unabase de datos embebida enmemoria con el soporte deSpring. - via @adictosaltrabajkcy.me/bantyesterday · reply · retweet · favorite
?
Selección manual de idioma en la interfaz de usuario con JSF2. http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...
2 de 3 30/09/12 00:26
Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5
Join the conversation
Share | 0
» Registrate y accede a esta y otras ventajas «
Anímate y coméntanos lo que pienses sobre este TUTORIAL:
4. Conclusiones.
Simple, pero efectivo ;)
Un saludo.
Jose
A continuación puedes evaluarlo:
Regístrate para evaluarlo
Por favor, vota +1 o compártelo si te pareció interesante
Copyright 2003-2012 © All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto
sanchezsuarezj @imvif echa unvistazo a este sobre comoconsumir un servicio web Axiscon Android - kcy.me/b9hd3 days ago · reply · retweet · favorite
sanchezsuarezj y la semanapróxima un nuevo curso deformación. Revisando material ypreparando ejercicios.3 days ago · reply · retweet · favorite
sanchezsuarezj @fjpereda graciasa vuestra buena predisposición!!!
Selección manual de idioma en la interfaz de usuario con JSF2. http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...
3 de 3 30/09/12 00:26