2012-05-29 34 views
5

Me crearon un sitio web en JSF 2 (PrimeFace 3.3) y ahora quiero crear una versión móvil. Tengo diferentes vistas para escritorio/móvil. Ya creé un controlador de vista personalizado para detectar navegadores móviles. Parece que funciona bien. Pero lo que no entiendo es cómo redirigir al usuario a las páginas móviles. He buscado mucho y nadie dice dónde ocurre este paso. ¿En qué paso debo hacer eso? Redirigir al usuario, y cómo hacerlo?Primefaces - ¿Cómo redirigir a la versión móvil?

Respuesta

3

En general, no desea redirigir a un sitio móvil, sino utilizar consultas de medios css para determinar cuál es el tamaño del navegador y utilizar css diferentes para eso. Aquí está un ejemplo rápido

http://css-tricks.com/resolution-specific-stylesheets/

+1

+1 para la respuesta general. Pero Primefaces tiene una api/gui móvil que tiene diseños muy diferentes a la versión de escritorio. – djmj

8

Hacer el trabajo de detección en un navegador Filter asignada en FacesServlet en lugar de en un ViewHandler.

Es entonces tan fácil como

if (needsRedirectToMobileURL) { 
    response.sendRedirect(mobileURL); 
} 
else { 
    chain.doFilter(request, response); 
} 

Un ViewHandler no esta destinada a manipular la petición/respuesta. Está diseñado para manejar la vista JSF para la solicitud dada.

Cuestiones relacionadas